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

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

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

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

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

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

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

#ifdef GET_DAGISEL_DECL
void SelectCode(SDNode *N);
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
{
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
  // this. Coverage indexes are emitted as 4 bytes,
  // COVERAGE_IDX_VAL handles this.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
  static const uint8_t MatcherTable[] = {
 OPC_SwitchOpcode , 46|128,115|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_Scope, 103|128,96|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,91|128,1, TARGET_VAL(AArch64ISD::UADDV),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 37|128,90|128,1, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 109|128,79|128,1, TARGET_VAL(ISD::ADD),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 113|128,103, TARGET_VAL(AArch64ISD::SMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_RecordChild0,
       OPC_Scope, 111|128,51,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_Scope, 113|128,25,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        113|128,25,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        0,
       111|128,51,
        OPC_CheckChild1Integer, 8,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_Scope, 113|128,25,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 8,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        113|128,25,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 8,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        0,
       0,
      113|128,103, TARGET_VAL(AArch64ISD::UMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_RecordChild0,
       OPC_Scope, 111|128,51,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_Scope, 113|128,25,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        113|128,25,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 8,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        0,
       111|128,51,
        OPC_CheckChild1Integer, 8,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_Scope, 113|128,25,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 8,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 0,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 4,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 4,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 4,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        113|128,25,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_RecordChild0,
         OPC_CheckChild1Integer, 8,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 4,
         OPC_CheckChild1TypeI64,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
         OPC_Scope, 62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         68|128,12,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 0, 1,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          2|128,3,
           OPC_CheckChild0Same, 1,
           OPC_Scope, 61|128,1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 0, 1,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           61|128,1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_Scope, 68,
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            68,
             OPC_CheckChild0Same, 0,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckType, MVT::v4i16,
             OPC_MoveSibling1,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
             OPC_MoveChild0,
             OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
             OPC_CheckChild0Same, 1,
             OPC_CheckChild1Integer, 8,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_MoveParent,
             OPC_CheckType, MVT::v4i32,
             OPC_MoveParent,
             OPC_CheckChild1Integer, 0,
             OPC_CheckChild1TypeI64,
             OPC_CheckTypeI32,
             OPC_CheckPatternPredicate3,
             OPC_EmitRegisterI32, AArch64::WZR,
             OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                             MVT::f128, 1, 2,
             OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                             MVT::f128, 3, 3, 1, 0,
             OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                             MVT::i32, 1, 4,
            0,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         62|128,6,
          OPC_CheckChild0Same, 0,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_CheckType, MVT::v4i16,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 0,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckChild1Integer, 4,
          OPC_CheckChild1TypeI64,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
          OPC_Scope, 63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 8,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          63|128,1,
           OPC_CheckChild0Same, 0,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_CheckType, MVT::v4i16,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 8,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckChild1Integer, 0,
           OPC_CheckChild1TypeI64,
           OPC_MoveParent,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
           OPC_MoveChild0,
           OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
           OPC_Scope, 68,
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           68,
            OPC_CheckChild0Same, 0,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckType, MVT::v4i16,
            OPC_MoveSibling1,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
            OPC_MoveChild0,
            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
            OPC_CheckChild0Same, 1,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_MoveParent,
            OPC_CheckType, MVT::v4i32,
            OPC_MoveParent,
            OPC_CheckChild1Integer, 0,
            OPC_CheckChild1TypeI64,
            OPC_CheckTypeI32,
            OPC_CheckPatternPredicate3,
            OPC_EmitRegisterI32, AArch64::WZR,
            OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                            MVT::f128, 1, 2,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv16i8),
                            MVT::f128, 3, 3, 1, 0,
            OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                            MVT::i32, 1, 4,
           0,
          0,
         0,
        0,
       0,
      0,
     20|128,5, TARGET_VAL(AArch64ISD::SMULL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_Scope, 65|128,2,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_Scope, 81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 3, 0, 1,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 6, 0, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       125,
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_Scope, 40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 3, 0, 1,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 6, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 3, 1, 0,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 6, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        0,
       81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 3, 1, 0,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 6, 1, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       0,
      65|128,2,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_Scope, 81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 3, 0, 1,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 6, 0, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       125,
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_Scope, 40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 3, 0, 1,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 6, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 3, 1, 0,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 6, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        0,
       81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 3, 1, 0,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                        MVT::i64, 3, 6, 1, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       0,
      0,
     20|128,5, TARGET_VAL(AArch64ISD::UMULL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_Scope, 65|128,2,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_Scope, 81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 3, 0, 1,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 6, 0, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       125,
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_Scope, 40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 3, 0, 1,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 6, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 3, 1, 0,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 6, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        0,
       81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 4,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 3, 1, 0,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 6, 1, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       0,
      65|128,2,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_Scope, 81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 3, 0, 1,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 6, 0, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       125,
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_Scope, 40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 3, 0, 1,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 6, 0, 1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        40,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 3, 1, 0,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 5,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 6, 1, 0,
         OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                         MVT::i64, 2, 4, 7,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::i32, 2, 8, 9,
        0,
       81,
        OPC_CheckChild0Same, 0,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckType, MVT::v4i16,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_CheckChild0Same, 1,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_CheckPatternPredicate3,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 3, 1, 0,
        OPC_EmitRegisterI32, AArch64::WZR,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                        MVT::i64, 1, 5,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                        MVT::i64, 3, 6, 1, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                        MVT::i64, 2, 4, 7,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 8, 9,
       0,
      0,
     0,
    92, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 44,
      OPC_CheckChild0Integer, 110|128,5,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     44,
      OPC_CheckChild0Integer, 45|128,5,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv16i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    0,
   79|128,5, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 32|128,2, TARGET_VAL(AArch64ISD::UADDV),
     OPC_Scope, 74|128,1,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 100, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
       OPC_Scope, 48,
        OPC_CheckChild0Integer, 110|128,5,
        OPC_RecordChild1,
        OPC_CheckChild1Type, MVT::v8i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i16, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                        MVT::i16, 1, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v4i16, 3, 1, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 4, 5,
       48,
        OPC_CheckChild0Integer, 45|128,5,
        OPC_RecordChild1,
        OPC_CheckChild1Type, MVT::v8i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i16, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                        MVT::i16, 1, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v4i16, 3, 1, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 4, 5,
       0,
      45, TARGET_VAL(AArch64ISD::UADDLP),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i16, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4i16, 3, 1, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 4, 5,
      45, TARGET_VAL(AArch64ISD::SADDLP),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i16, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4i16, 3, 1, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 4, 5,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 35, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v8i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8i8, 3, 1, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 4, 5,
      35, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i16, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4i16, 3, 1, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 4, 5,
      0,
     0,
    81, TARGET_VAL(AArch64ISD::SADDV),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    81, TARGET_VAL(AArch64ISD::SMAXV),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    81, TARGET_VAL(AArch64ISD::SMINV),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    81, TARGET_VAL(AArch64ISD::UMAXV),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    81, TARGET_VAL(AArch64ISD::UMINV),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    0,
   0,
  53,
   OPC_RecordChild0,
   OPC_SwitchType , 14, MVT::i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 0, 1,
   32, MVT::i32,
    OPC_Scope, 14,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
    14,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
    0,
   0,
  112|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 32|128,2, TARGET_VAL(AArch64ISD::UADDV),
    OPC_Scope, 41|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     36, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     41, TARGET_VAL(AArch64ISD::UADDLP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     41, TARGET_VAL(AArch64ISD::SADDLP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv16i8v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    114,
     OPC_RecordChild0,
     OPC_SwitchType , 35, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     35, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
     0,
    0,
   114, TARGET_VAL(AArch64ISD::SADDV),
    OPC_RecordChild0,
    OPC_SwitchType , 35, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   114, TARGET_VAL(AArch64ISD::SMAXV),
    OPC_RecordChild0,
    OPC_SwitchType , 35, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   114, TARGET_VAL(AArch64ISD::SMINV),
    OPC_RecordChild0,
    OPC_SwitchType , 35, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   114, TARGET_VAL(AArch64ISD::UMAXV),
    OPC_RecordChild0,
    OPC_SwitchType , 35, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   114, TARGET_VAL(AArch64ISD::UMINV),
    OPC_RecordChild0,
    OPC_SwitchType , 35, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    35, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  24|128,11,
   OPC_RecordChild0,
   OPC_Scope, 101,
    OPC_CheckChild0Type, 42|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
    80,
     OPC_RecordChild1,
     OPC_Scope, 54,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_Scope, 22,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi8),
                       MVT::i32, 2, 3, 4,
      23,
       OPC_CheckPredicate, 122,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_B),
                       42|128,1, 2, 0, 2,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 3, 4,
      0,
     21,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_B),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_B),
                      MVT::i32, 2, 3, 0,
     0,
    0,
   100,
    OPC_CheckChild0Type, 48|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
    79,
     OPC_RecordChild1,
     OPC_Scope, 53,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_Scope, 21,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi16),
                       MVT::i32, 2, 3, 4,
      23,
       OPC_CheckPredicate, 68,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                       42|128,1, 2, 0, 2,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 3, 4,
      0,
     21,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_H),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_H),
                      MVT::i32, 2, 3, 0,
     0,
    0,
   100,
    OPC_CheckChild0Type, 53|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
    79,
     OPC_RecordChild1,
     OPC_Scope, 53,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_Scope, 21,
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi32),
                       MVT::i32, 2, 3, 4,
      23,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                       42|128,1, 2, 0, 2,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 3, 4,
      0,
     21,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_S),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_S),
                      MVT::i32, 2, 3, 0,
     0,
    0,
   100,
    OPC_CheckChild0Type, 58|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 1,
    79,
     OPC_RecordChild1,
     OPC_Scope, 53,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_Scope, 22,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 0, 2,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi64),
                       MVT::i64, 2, 3, 4,
      22,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                       42|128,1, 2, 0, 2,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i64, 2, 3, 4,
      0,
     21,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_D),
                      MVT::i64, 2, 3, 0,
     0,
    0,
   39,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 129,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi8_idx0),
                     MVT::i32, 2, 0, 2,
    13,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi8),
                     MVT::i32, 2, 0, 2,
    0,
   38,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 129,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi16_idx0),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi16),
                     MVT::i32, 2, 0, 2,
    0,
   38,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 129,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi32_idx0),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi32),
                     MVT::i32, 2, 0, 2,
    0,
   39,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 129,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi64_idx0),
                     MVT::i64, 2, 0, 2,
    13,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi64),
                     MVT::i64, 2, 0, 2,
    0,
   78,
    OPC_CheckChild0Type, 66|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 1,
    56,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 68,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_H),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::f16, 2, 3, 0,
     0,
    0,
   78,
    OPC_CheckChild0Type, 65|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 1,
    56,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_S),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::f16, 2, 3, 0,
     0,
    0,
   77,
    OPC_CheckChild0Type, 64|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 1,
    55,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::f16, 2, 3, 0,
     0,
    0,
   78,
    OPC_CheckChild0Type, 72|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::bf16, 2, 0, 1,
    56,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 68,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::bf16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_H),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::bf16, 2, 3, 0,
     0,
    0,
   78,
    OPC_CheckChild0Type, 71|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::bf16, 2, 0, 1,
    56,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::bf16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_S),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::bf16, 2, 3, 0,
     0,
    0,
   77,
    OPC_CheckChild0Type, 70|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::bf16, 2, 0, 1,
    55,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::bf16, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                      MVT::bf16, 2, 3, 0,
     0,
    0,
   78,
    OPC_CheckChild0Type, 77|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 1,
    56,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_S),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_S),
                      MVT::f32, 2, 3, 0,
     0,
    0,
   77,
    OPC_CheckChild0Type, 76|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 1,
    55,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_S),
                      MVT::f32, 2, 3, 0,
     0,
    0,
   77,
    OPC_CheckChild0Type, 81|128,1,
    OPC_Scope, 15,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 0, 1,
    55,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                      42|128,1, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 4,
     22,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitNode2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                      31|128,1, MVT::i32, 2, 2, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_D),
                      MVT::f64, 2, 3, 0,
     0,
    0,
   40,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f64,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 0, 1,
    19,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::f64, 2, 0, 2,
    0,
   39,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f32,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 1,
    18,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::f32, 2, 0, 2,
    0,
   38,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 1,
    18,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi16),
                     MVT::f16, 2, 0, 2,
    0,
   38,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_Scope, 14,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::bf16,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::bf16, 2, 0, 1,
    18,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi16),
                     MVT::bf16, 2, 0, 2,
    0,
   0,
  0,
 37|128,19|128,9, TARGET_VAL(ISD::ADD),
  OPC_Scope, 59|128,99|128,7,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 125|128,120|128,3, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 3,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_Scope, 0|128,2,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 3,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 3,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_CheckChild1Same, 1,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_CheckChild1Same, 3,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                     MVT::i64, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                     MVT::i32, 2, 1, 13,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 14, 15,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 12, 16, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                     MVT::i32, 2, 3, 20,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 21, 22,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 19, 23, 24,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                     MVT::i64, 3, 11, 18, 25,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 26, 27,
    0|128,2,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 3,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 3,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_CheckChild1Same, 1,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_CheckChild1Same, 3,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                     MVT::i64, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                     MVT::i32, 2, 1, 13,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 14, 15,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 12, 16, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                     MVT::i32, 2, 3, 20,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 21, 22,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 19, 23, 24,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                     MVT::i64, 3, 11, 18, 25,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 26, 27,
    48|128,122|128,1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate3,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 9|128,125, TARGET_VAL(ISD::ADD),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 63|128,30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      67|128,10,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      63|128,30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      67|128,10,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     2|128,125, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      42|128,40,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       2|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      43|128,41,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     0,
    48|128,122|128,1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckPredicate2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 9|128,125, TARGET_VAL(ISD::ADD),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 63|128,30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      67|128,10,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      63|128,30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       125|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        37|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 124,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         124,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      67|128,10,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 28|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       28|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 55|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        55|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 7|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         7|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      44|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 66|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       66|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 7|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        7|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     2|128,125, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      42|128,40,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       2|128,4,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 37|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      50|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 67|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       67|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 8|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        8|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      43|128,41,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 2,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 2,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       3|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 38|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        38|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 125,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         125,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       34|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 56|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        56|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 8|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         8|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 1,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 1,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     0,
    0,
   49|128,106|128,3, TARGET_VAL(ISD::ADD),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 63|128,117|128,1, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 70|128,60,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckTypeI64,
      OPC_Scope, 45|128,40,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 104|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 25|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        41|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         14|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        25|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       41|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       68|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        25|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       41|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      13|128,20,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 25|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       41|128,9,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        14|128,4,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       25|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     97|128,20,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      79|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     73|128,20,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 41|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      68|128,9,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      41|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     97|128,20,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      79|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     70|128,60,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckTypeI64,
      OPC_Scope, 45|128,40,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 104|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 25|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        41|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         14|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        25|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 53|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         53|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       41|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       68|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        25|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       41|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 64|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        64|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      13|128,20,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 25|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       41|128,9,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        14|128,4,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       25|128,5,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_Scope, 53|128,2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        53|128,2,
         OPC_CheckChild1Same, 1,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     97|128,20,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      79|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     73|128,20,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_Scope, 41|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      68|128,9,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      41|128,5,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     97|128,20,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      79|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       25|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      52|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 64|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       64|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     0,
    101|128,116|128,1, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 44|128,41,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate3,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 53|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      81|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       26|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      110|128,10,
       OPC_CheckChild0Same, 1,
       OPC_Scope, 51|128,5,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       51|128,5,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      81|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       26|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      53|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     126|128,80,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckTypeI64,
      OPC_Scope, 57|128,40,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 108|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        43|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         15|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       70|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        26|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      57|128,40,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate3,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 108|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        43|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         15|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate3,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       70|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        26|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate3,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate3,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate3,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::SDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     44|128,41,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate1,
      OPC_CheckPredicate2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckTypeI64,
      OPC_Scope, 53|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      81|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       26|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      110|128,10,
       OPC_CheckChild0Same, 1,
       OPC_Scope, 51|128,5,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       51|128,5,
        OPC_CheckChild1Integer, 1,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 1,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      81|128,9,
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       26|128,4,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        87|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_Scope, 77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         77,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      53|128,5,
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckTypeI64,
       OPC_Scope, 65|128,2,
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       65|128,2,
        OPC_CheckChild0Same, 1,
        OPC_CheckChild1Integer, 2,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 3,
        OPC_CheckChild1Integer, 2,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 6|128,1,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        6|128,1,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 3,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 3,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_CheckPatternPredicate3,
         OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
         OPC_EmitRegisterI32, AArch64::WZR,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                         MVT::i64, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 3, 13,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 14, 15,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 12, 16, 17,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v2i32, 0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                         MVT::i32, 2, 1, 20,
         OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                         MVT::i32, 2, 21, 22,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v2i32, 3, 19, 23, 24,
         OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                         MVT::i64, 3, 11, 18, 25,
         OPC_EmitIntegerI32, AArch64::sub_32,
         OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 26, 27,
        0,
       0,
      0,
     126|128,80,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckTypeI64,
      OPC_Scope, 57|128,40,
       OPC_CheckChild1Integer, 1,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 108|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        43|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         15|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       70|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        26|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 2,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 2,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      57|128,40,
       OPC_CheckChild1Integer, 2,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_CheckPredicate2,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_Scope, 108|128,19,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        43|128,9,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         15|128,4,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          87|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_Scope, 77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           77,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 3, 13,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 14, 15,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 12, 16, 17,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                            MVT::v2i32, 0,
            OPC_EmitIntegerI64, 0,
            OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                            MVT::i32, 2, 1, 20,
            OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                            MVT::i32, 2, 21, 22,
            OPC_EmitIntegerI32, AArch64::ssub,
            OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                            MVT::v2i32, 3, 19, 23, 24,
            OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                            MVT::i64, 3, 11, 18, 25,
            OPC_EmitIntegerI32, AArch64::sub_32,
            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2, 26, 27,
           0,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        26|128,5,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_Scope, 54|128,2,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         54|128,2,
          OPC_CheckChild1Same, 1,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_CheckChild1Same, 3,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
          OPC_MoveChild0,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckTypeI64,
          OPC_Scope, 6|128,1,
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          6|128,1,
           OPC_CheckChild0Same, 1,
           OPC_CheckChild1Integer, 3,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveSibling1,
           OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
           OPC_RecordMemRef,
           OPC_RecordNode,
           OPC_CheckFoldableChainNode,
           OPC_MoveChild1,
           OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
           OPC_CheckChild0Same, 3,
           OPC_CheckChild1Integer, 3,
           OPC_CheckTypeI64,
           OPC_MoveParent,
           OPC_CheckPredicate1,
           OPC_CheckPredicate2,
           OPC_CheckPredicate0,
           OPC_MoveParent,
           OPC_MoveParent,
           OPC_CheckTypeI32,
           OPC_CheckPatternPredicate3,
           OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
           OPC_EmitRegisterI32, AArch64::WZR,
           OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                           MVT::i64, 1, 10,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       70|128,9,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        26|128,4,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         87|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_Scope, 77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          77,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 3, 13,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 14, 15,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 12, 16, 17,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                           MVT::v2i32, 0,
           OPC_EmitIntegerI64, 0,
           OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                           MVT::i32, 2, 1, 20,
           OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                           MVT::i32, 2, 21, 22,
           OPC_EmitIntegerI32, AArch64::ssub,
           OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                           MVT::v2i32, 3, 19, 23, 24,
           OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                           MVT::i64, 3, 11, 18, 25,
           OPC_EmitIntegerI32, AArch64::sub_32,
           OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                           MVT::i32, 2, 26, 27,
          0,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       42|128,5,
        OPC_CheckChild1Same, 1,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate2,
        OPC_CheckPredicate0,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
        OPC_RecordMemRef,
        OPC_RecordNode,
        OPC_CheckFoldableChainNode,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckTypeI64,
        OPC_Scope, 65|128,2,
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        65|128,2,
         OPC_CheckChild0Same, 1,
         OPC_CheckChild1Integer, 1,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 3,
         OPC_CheckChild1Integer, 1,
         OPC_CheckTypeI64,
         OPC_MoveParent,
         OPC_CheckPredicate1,
         OPC_CheckPredicate2,
         OPC_CheckPredicate0,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
         OPC_RecordMemRef,
         OPC_RecordNode,
         OPC_CheckFoldableChainNode,
         OPC_MoveChild1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckTypeI64,
         OPC_Scope, 6|128,1,
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         6|128,1,
          OPC_CheckChild0Same, 1,
          OPC_CheckChild1Integer, 3,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveSibling1,
          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
          OPC_RecordMemRef,
          OPC_RecordNode,
          OPC_CheckFoldableChainNode,
          OPC_MoveChild1,
          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
          OPC_CheckChild0Same, 3,
          OPC_CheckChild1Integer, 3,
          OPC_CheckTypeI64,
          OPC_MoveParent,
          OPC_CheckPredicate1,
          OPC_CheckPredicate2,
          OPC_CheckPredicate0,
          OPC_MoveParent,
          OPC_MoveParent,
          OPC_CheckTypeI32,
          OPC_CheckPatternPredicate3,
          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9,
          OPC_EmitRegisterI32, AArch64::WZR,
          OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                          MVT::i64, 1, 10,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 3, 13,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 14, 15,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 12, 16, 17,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                          MVT::v2i32, 0,
          OPC_EmitIntegerI64, 0,
          OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDRWui),
                          MVT::i32, 2, 1, 20,
          OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                          MVT::i32, 2, 21, 22,
          OPC_EmitIntegerI32, AArch64::ssub,
          OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                          MVT::v2i32, 3, 19, 23, 24,
          OPC_EmitNode1None, TARGET_VAL(AArch64::UDOTv8i8),
                          MVT::i64, 3, 11, 18, 25,
          OPC_EmitIntegerI32, AArch64::sub_32,
          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2, 26, 27,
         0,
        0,
       0,
      0,
     0,
    0,
   0,
  22|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36|128,2, TARGET_VAL(ISD::MUL),
    OPC_Scope, 98|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 53,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     0,
    61,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 0, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 6, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   102|128,1, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 54,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 0, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    54,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 0, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    54,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 0, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    54,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 0, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   0,
  73|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 62,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 6, 0, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    62,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   63, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 83|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 4, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 6, 0, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 85|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/36, /*#*/1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                   MVT::i64, 3, 6, 2, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
  73|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 62,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 6, 0, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    62,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   63, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 85|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 4, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                    MVT::i64, 3, 6, 0, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 91|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/36, /*#*/1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                   MVT::i64, 3, 6, 2, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
  73|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 62,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 6, 0, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    62,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   63, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 91|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 4, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                    MVT::i64, 3, 6, 0, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 84|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/36, /*#*/1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                   MVT::i64, 3, 6, 2, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
  73|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 62,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 6, 0, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    62,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/36, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 4, 2, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 6, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   63, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 84|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 4, 2, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                    MVT::i64, 3, 6, 0, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  30|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 118,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 27,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     0,
    31,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 2, 3,
    0,
   122, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 28,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 3,
    28,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 0, 1, 3,
    28,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 0, 1, 3,
    28,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/35, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  110,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::MUL),
    OPC_Scope, 32,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 2, 0, 3,
    32,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 2, 1, 3,
    0,
   33, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 83|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 2, 0, 3,
   0,
  36,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 85|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/32, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                   MVT::i64, 3, 0, 2, 3,
  110,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::MUL),
    OPC_Scope, 32,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 2, 0, 3,
    32,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 2, 1, 3,
    0,
   33, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 85|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                    MVT::i64, 3, 2, 0, 3,
   0,
  36,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 91|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/32, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                   MVT::i64, 3, 0, 2, 3,
  110,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::MUL),
    OPC_Scope, 32,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 2, 0, 3,
    32,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 2, 1, 3,
    0,
   33, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 91|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                    MVT::i64, 3, 2, 0, 3,
   0,
  36,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 84|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 17,
   OPC_CheckComplexPat, /*CP*/32, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                   MVT::i64, 3, 0, 2, 3,
  110,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::MUL),
    OPC_Scope, 32,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 2, 0, 3,
    32,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat, /*CP*/32, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 2, 1, 3,
    0,
   33, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 84|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                    MVT::i64, 3, 2, 0, 3,
   0,
  37,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate, 33,
   OPC_CheckTypeI64,
   OPC_EmitConvertToTarget1,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                   MVT::i64, 3, 0, 0, 3,
  37,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate, 33,
   OPC_CheckTypeI64,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                   MVT::i64, 3, 2, 2, 3,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_MoveParent,
   OPC_CheckPredicate, 33,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                   MVT::i32, 3, 0, 0, 3,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate, 33,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                   MVT::i32, 3, 2, 2, 3,
  37|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
   OPC_Scope, 43,
    OPC_CheckChild0Integer, 16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   43,
    OPC_CheckChild0Integer, 112,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   43,
    OPC_CheckChild0Integer, 32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   43,
    OPC_CheckChild0Integer, 96,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   44,
    OPC_CheckChild0Integer, 64|128,0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   43,
    OPC_CheckChild0Integer, 64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI32, 31,
    OPC_EmitIntegerI32, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                    MVT::i64, 3, 3, 4, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   15|128,2,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_Scope, 34,
     OPC_CheckComplexPat, /*CP*/113, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVL_XXI),
                     MVT::i64, 2, 5, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    37,
     OPC_CheckComplexPat, /*CP*/72, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    37,
     OPC_CheckComplexPat, /*CP*/73, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    37,
     OPC_CheckComplexPat, /*CP*/74, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    37,
     OPC_CheckComplexPat, /*CP*/67, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    37,
     OPC_CheckComplexPat, /*CP*/68, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    37,
     OPC_CheckComplexPat, /*CP*/69, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                     MVT::i64, 3, 5, 6, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    0,
   0,
  96|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 39|128,4, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
    OPC_Scope, 44,
     OPC_CheckChild0Integer, 16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    44,
     OPC_CheckChild0Integer, 112,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    44,
     OPC_CheckChild0Integer, 32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    44,
     OPC_CheckChild0Integer, 96,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    45,
     OPC_CheckChild0Integer, 64|128,0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    44,
     OPC_CheckChild0Integer, 64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 3, 4, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    16|128,2,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_Scope, 34,
      OPC_CheckComplexPat, /*CP*/113, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVL_XXI),
                      MVT::i64, 2, 5, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     37,
      OPC_CheckComplexPat, /*CP*/72, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     37,
      OPC_CheckComplexPat, /*CP*/73, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     37,
      OPC_CheckComplexPat, /*CP*/74, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     37,
      OPC_CheckComplexPat, /*CP*/67, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     37,
      OPC_CheckComplexPat, /*CP*/68, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     37,
      OPC_CheckComplexPat, /*CP*/69, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 1, 4,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 5, 6, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     0,
    0,
   47, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_Scope, 20,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64p),
                     MVT::i64, 1, 0,
    20,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64p),
                     MVT::i64, 1, 0,
    0,
   0,
  60,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 26, MVT::i32,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/99, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWri),
                     MVT::i32, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/99, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWri),
                     MVT::i32, 3, 1, 2, 3,
    0,
   26, MVT::i64,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/100, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXri),
                     MVT::i64, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/100, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXri),
                     MVT::i64, 3, 1, 2, 3,
    0,
   0,
  75,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 0, 5, 2,
   31, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 79,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 0, 5, 2,
   0,
  74,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 30, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 1, 5, 0,
   30, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 79,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 1, 5, 0,
   0,
  50,
   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::i32,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 85,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                   MVT::i32, 1, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                   MVT::i64, 3, 4, 7, 2,
  74|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 45, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 4, 7, 0,
   18|128,3, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 50,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    62|128,1,
     OPC_CheckChild0Integer, 86|128,10,
     OPC_RecordChild1,
     OPC_Scope, 45,
      OPC_CheckChild1Type, 35|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 34|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 33|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 32|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     0,
    0,
   0,
  30|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 51,
    OPC_CheckChild0Integer, 83|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 4, 0, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   51,
    OPC_CheckChild0Integer, 85|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCH_XPiI),
                    MVT::i64, 3, 4, 0, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   51,
    OPC_CheckChild0Integer, 91|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCW_XPiI),
                    MVT::i64, 3, 4, 0, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   51,
    OPC_CheckChild0Integer, 84|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCD_XPiI),
                    MVT::i64, 3, 4, 0, 5,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   66|128,1,
    OPC_CheckChild0Integer, 86|128,10,
    OPC_RecordChild1,
    OPC_Scope, 46,
     OPC_CheckChild1Type, 35|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    46,
     OPC_CheckChild1Type, 34|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    46,
     OPC_CheckChild1Type, 33|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    46,
     OPC_CheckChild1Type, 32|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    0,
   0,
  22|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 47, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 19, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 1, 2, 0,
    19, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 1, 2, 0,
    0,
   92|128,1, TARGET_VAL(ISD::VSCALE),
    OPC_Scope, 18,
     OPC_CheckChild0Integer, 16,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    18,
     OPC_CheckChild0Integer, 112,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    18,
     OPC_CheckChild0Integer, 32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    18,
     OPC_CheckChild0Integer, 96,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    19,
     OPC_CheckChild0Integer, 64|128,0,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    18,
     OPC_CheckChild0Integer, 64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    102,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 17,
     OPC_Scope, 10,
      OPC_CheckComplexPat, /*CP*/113, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVL_XXI),
                      MVT::i64, 2, 0, 2,
     13,
      OPC_CheckComplexPat, /*CP*/72, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/73, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/74, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/67, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/68, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/69, /*#*/1,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 0, 3, 2,
     0,
    0,
   0,
  30|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 20, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 0, 1, 2,
    20, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 0, 1, 2,
    0,
   99|128,1, TARGET_VAL(ISD::VSCALE),
    OPC_Scope, 19,
     OPC_CheckChild0Integer, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    19,
     OPC_CheckChild0Integer, 112,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    19,
     OPC_CheckChild0Integer, 32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    19,
     OPC_CheckChild0Integer, 96,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    20,
     OPC_CheckChild0Integer, 64|128,0,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    19,
     OPC_CheckChild0Integer, 64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 38,
     OPC_EmitIntegerI32, 31,
     OPC_EmitIntegerI32, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 0, 1, 2,
    103,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 17,
     OPC_Scope, 10,
      OPC_CheckComplexPat, /*CP*/113, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVL_XXI),
                      MVT::i64, 2, 1, 2,
     13,
      OPC_CheckComplexPat, /*CP*/72, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/73, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/74, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/67, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/68, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     13,
      OPC_CheckComplexPat, /*CP*/69, /*#*/0,
      OPC_EmitIntegerI32, 31,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 1, 3, 2,
     0,
    0,
   0,
  45,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_CheckPredicate, 138,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/70, /*#*/1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDXrs),
                   MVT::i64, 3, 6, 2, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
  45,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_CheckPredicate, 138,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/70, /*#*/0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 4, 1, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDXrs),
                   MVT::i64, 3, 6, 2, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
  66|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 24,
    OPC_CheckChild0Integer, 83|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                    MVT::i64, 3, 0, 1, 2,
   24,
    OPC_CheckChild0Integer, 85|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                    MVT::i64, 3, 0, 1, 2,
   24,
    OPC_CheckChild0Integer, 91|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                    MVT::i64, 3, 0, 1, 2,
   24,
    OPC_CheckChild0Integer, 84|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                    MVT::i64, 3, 0, 1, 2,
   86,
    OPC_CheckChild0Integer, 86|128,10,
    OPC_RecordChild1,
    OPC_Scope, 19,
     OPC_CheckChild1Type, 35|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                     MVT::i64, 2, 2, 0,
    19,
     OPC_CheckChild1Type, 34|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                     MVT::i64, 2, 2, 0,
    19,
     OPC_CheckChild1Type, 33|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                     MVT::i64, 2, 2, 0,
    19,
     OPC_CheckChild1Type, 32|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                     MVT::i64, 2, 2, 0,
    0,
   0,
  49|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 69|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 25,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCB_XPiI),
                     MVT::i64, 3, 1, 0, 2,
    25,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_XPiI),
                     MVT::i64, 3, 1, 0, 2,
    25,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_XPiI),
                     MVT::i64, 3, 1, 0, 2,
    25,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_XPiI),
                     MVT::i64, 3, 1, 0, 2,
    90,
     OPC_CheckChild0Integer, 86|128,10,
     OPC_RecordChild1,
     OPC_Scope, 20,
      OPC_CheckChild1Type, 35|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                      MVT::i64, 2, 1, 2,
     20,
      OPC_CheckChild1Type, 34|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                      MVT::i64, 2, 1, 2,
     20,
      OPC_CheckChild1Type, 33|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                      MVT::i64, 2, 1, 2,
     20,
      OPC_CheckChild1Type, 32|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                      MVT::i64, 2, 1, 2,
     0,
    0,
   98, TARGET_VAL(ISD::MUL),
    OPC_Scope, 64,
     OPC_RecordChild0,
     OPC_Scope, 29,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate, 64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI64,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                      MVT::i64, 3, 4, 1, 2,
     30,
      OPC_MoveChild0,
      OPC_CheckPredicate, 51,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI64,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                      MVT::i64, 3, 4, 1, 2,
     0,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 4, 0, 2,
    0,
   0,
  67,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 29,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 4, 2, 0,
   29,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 4, 1, 0,
   0,
  35,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 51,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                   MVT::i64, 3, 4, 0, 2,
  48|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 64, TARGET_VAL(ISD::MUL),
    OPC_Scope, 30,
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 51,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 4, 2, 0,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 4, 1, 0,
    0,
   102, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 93,
    OPC_Scope, 29,
     OPC_CheckComplexPat, /*CP*/67, /*#*/1,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTH_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                     MVT::i32, MVT::i32, 2, 0, 6,
    29,
     OPC_CheckComplexPat, /*CP*/68, /*#*/1,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTW_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                     MVT::i32, MVT::i32, 2, 0, 6,
    29,
     OPC_CheckComplexPat, /*CP*/69, /*#*/1,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTD_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                     MVT::i32, MVT::i32, 2, 0, 6,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 93,
   OPC_Scope, 29,
    OPC_CheckComplexPat, /*CP*/67, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTH_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 4, 5,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                    MVT::i32, MVT::i32, 2, 1, 6,
   29,
    OPC_CheckComplexPat, /*CP*/68, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTW_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 4, 5,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                    MVT::i32, MVT::i32, 2, 1, 6,
   29,
    OPC_CheckComplexPat, /*CP*/69, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTD_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 4, 5,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                    MVT::i32, MVT::i32, 2, 1, 6,
   0,
  55|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 86|128,10,
   OPC_RecordChild1,
   OPC_Scope, 41,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   41,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   41,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   41,
    OPC_CheckChild1Type, 32|128,1,
    OPC_CheckChild2Same, 1,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   0,
  58|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 86|128,10,
   OPC_RecordChild1,
   OPC_Scope, 42,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 0, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   42,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 0, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   42,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 0, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   42,
    OPC_CheckChild1Type, 32|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 0, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   0,
  112,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 52, MVT::i32,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/101, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWrx),
                     MVT::i32, 3, 0, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/102, /*#*/1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                     MVT::i32, MVT::i32, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/101, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWrx),
                     MVT::i32, 3, 1, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/102, /*#*/0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   52, MVT::i64,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/126, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXrx),
                     MVT::i64, 3, 0, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/103, /*#*/1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                     MVT::i64, MVT::i32, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/126, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXrx),
                     MVT::i64, 3, 1, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/103, /*#*/0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                     MVT::i64, MVT::i32, 3, 1, 2, 3,
    0,
   0,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 51,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 51,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                   MVT::i64, 3, 4, 6, 2,
  52|128,1,
   OPC_RecordChild0,
   OPC_Scope, 41,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 51,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 51,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 4, 6, 0,
   29,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat, /*CP*/104, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWrs),
                     MVT::i32, 3, 0, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat, /*CP*/70, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXrs),
                     MVT::i64, 3, 0, 2, 3,
    0,
   74,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 86|128,10,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild1Type, 35|128,1,
     OPC_CheckChild2Same, 1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                     MVT::i64, 2, 1, 0,
    15,
     OPC_CheckChild1Type, 34|128,1,
     OPC_CheckChild2Same, 1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                     MVT::i64, 2, 1, 0,
    15,
     OPC_CheckChild1Type, 33|128,1,
     OPC_CheckChild2Same, 1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                     MVT::i64, 2, 1, 0,
    15,
     OPC_CheckChild1Type, 32|128,1,
     OPC_CheckChild2Same, 1,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                     MVT::i64, 2, 1, 0,
    0,
   29,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat, /*CP*/104, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWrs),
                     MVT::i32, 3, 1, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat, /*CP*/70, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXrs),
                     MVT::i64, 3, 1, 2, 3,
    0,
   0,
  78,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 86|128,10,
   OPC_RecordChild1,
   OPC_Scope, 16,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 0, 1,
   16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 0, 1,
   16,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 0, 1,
   16,
    OPC_CheckChild1Type, 32|128,1,
    OPC_CheckChild2Same, 0,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 0, 1,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 93,
   OPC_Scope, 22,
    OPC_CheckComplexPat, /*CP*/67, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTH_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 0, 4, 5,
   22,
    OPC_CheckComplexPat, /*CP*/68, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTW_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 0, 4, 5,
   22,
    OPC_CheckComplexPat, /*CP*/69, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTD_XPiI),
                    MVT::i64, 2, 3, 2,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 0, 4, 5,
   0,
  119,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 77, TARGET_VAL(ISD::VSCALE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 93,
    OPC_Scope, 22,
     OPC_CheckComplexPat, /*CP*/67, /*#*/0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTH_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                     MVT::i64, 3, 1, 4, 5,
    22,
     OPC_CheckComplexPat, /*CP*/68, /*#*/0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTW_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                     MVT::i64, 3, 1, 4, 5,
    22,
     OPC_CheckComplexPat, /*CP*/69, /*#*/0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::CNTD_XPiI),
                     MVT::i64, 2, 3, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                     MVT::i64, 3, 1, 4, 5,
    0,
   33, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 4, 6, 2,
   0,
  18|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 4, 6, 0,
   103|128,1, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CTTZ_ELTS),
    OPC_RecordChild0,
    OPC_Scope, 55,
     OPC_CheckChild0Type, 35|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                     31|128,1, 2, 3, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                     MVT::i64, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    55,
     OPC_CheckChild0Type, 34|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                     31|128,1, 2, 3, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                     MVT::i64, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    55,
     OPC_CheckChild0Type, 33|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                     31|128,1, 2, 3, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                     MVT::i64, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    55,
     OPC_CheckChild0Type, 32|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                     31|128,1, 2, 3, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                     MVT::i64, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    0,
   0,
  111|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CTTZ_ELTS),
   OPC_RecordChild0,
   OPC_Scope, 56,
    OPC_CheckChild0Type, 35|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 4, 7,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   56,
    OPC_CheckChild0Type, 34|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 4, 7,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   56,
    OPC_CheckChild0Type, 33|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 4, 7,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   56,
    OPC_CheckChild0Type, 32|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 4, 7,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 8, 9,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CTTZ_ELTS),
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_CheckChild0Type, 35|128,1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 4, 0,
   30,
    OPC_CheckChild0Type, 34|128,1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 4, 0,
   30,
    OPC_CheckChild0Type, 33|128,1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 4, 0,
   30,
    OPC_CheckChild0Type, 32|128,1,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 4, 0,
   0,
  7|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CTTZ_ELTS),
   OPC_RecordChild0,
   OPC_Scope, 31,
    OPC_CheckChild0Type, 35|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_B),
                    MVT::i64, 2, 4, 1,
   31,
    OPC_CheckChild0Type, 34|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_H),
                    MVT::i64, 2, 4, 1,
   31,
    OPC_CheckChild0Type, 33|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_S),
                    MVT::i64, 2, 4, 1,
   31,
    OPC_CheckChild0Type, 32|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                    31|128,1, 2, 3, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCP_XP_D),
                    MVT::i64, 2, 4, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWrr),
                    MVT::i32, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXrr),
                    MVT::i64, 2, 0, 1,
   0,
  102|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 60, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv4i32),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 2,
   60, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv4i32),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 2,
   43|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_Scope, 40,
     OPC_CheckChild0Type, MVT::i8,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 80,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                     42|128,1, 2, 3, 1,
    40,
     OPC_CheckChild0Type, MVT::i16,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 81,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                     48|128,1, 2, 3, 1,
    39,
     OPC_CheckChild0TypeI32,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                     53|128,1, 2, 3, 1,
    39,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                     58|128,1, 2, 3, 1,
    0,
   50|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 127, MVT::i32,
     OPC_Scope, 41,
      OPC_CheckPredicate, 80,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_CheckChild0Integer, 1,
      OPC_CheckChild0Type, MVT::i8,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                      42|128,1, 2, 3, 2,
     41,
      OPC_CheckPredicate, 81,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_CheckChild0Integer, 1,
      OPC_CheckChild0Type, MVT::i16,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                      48|128,1, 2, 3, 2,
     40,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_CheckChild0Integer, 1,
      OPC_CheckChild0TypeI32,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                      53|128,1, 2, 3, 2,
     0,
    40, MVT::i64,
     OPC_CheckPredicate, 10,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                     58|128,1, 2, 3, 2,
    0,
   0,
  1|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 79,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 19,
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_1),
                     58|128,1, 2, 0, 2,
    19,
     OPC_CheckChild0Integer, 2,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_2),
                     58|128,1, 2, 0, 2,
    19,
     OPC_CheckChild0Integer, 3,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_3),
                     58|128,1, 2, 0, 2,
    0,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_1),
                    58|128,1, 2, 0, 2,
   0,
  87,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 37,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_1),
                    58|128,1, 2, 2, 1,
   37,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_1),
                    58|128,1, 2, 2, 1,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 2,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_2),
                   58|128,1, 2, 0, 2,
  87,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 37,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 2,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_2),
                    58|128,1, 2, 2, 1,
   37,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 2,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_2),
                    58|128,1, 2, 2, 1,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 3,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_3),
                   58|128,1, 2, 0, 2,
  87,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 37,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 3,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_3),
                    58|128,1, 2, 2, 1,
   37,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 3,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_3),
                    58|128,1, 2, 2, 1,
   0,
  108|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 8|128,1, TARGET_VAL(AArch64ISD::SMULL),
    OPC_Scope, 89,
     OPC_RecordChild0,
     OPC_Scope, 42,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 4,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_indexed),
                      MVT::v4i32, 4, 0, 4, 2, 5,
     42,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_indexed),
                      MVT::v2i64, 4, 0, 4, 2, 5,
     0,
    43,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/3,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_indexed),
                     MVT::v4i32, 4, 0, 4, 1, 5,
    0,
   89, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_indexed),
                     MVT::v4i32, 4, 0, 4, 2, 5,
    42,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_indexed),
                     MVT::v2i64, 4, 0, 4, 2, 5,
    0,
   0,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 44,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_indexed),
                    MVT::v4i32, 4, 3, 4, 1, 5,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_indexed),
                    MVT::v4i32, 4, 3, 4, 0, 5,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 2,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat7, /*#*/3,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_indexed),
                   MVT::v2i64, 4, 0, 4, 1, 5,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 44,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_indexed),
                    MVT::v2i64, 4, 3, 4, 1, 5,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_indexed),
                    MVT::v2i64, 4, 3, 4, 0, 5,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 4,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v4i16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat6, /*#*/3,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_indexed),
                   MVT::v4i32, 4, 0, 4, 1, 5,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_Scope, 44,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_indexed),
                    MVT::v4i32, 4, 3, 4, 1, 5,
   44,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_indexed),
                    MVT::v4i32, 4, 3, 4, 0, 5,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 2,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_CheckComplexPat7, /*#*/3,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_indexed),
                   MVT::v2i64, 4, 0, 4, 1, 5,
  118|128,5,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 92, TARGET_VAL(AArch64ISD::UMULL),
    OPC_Scope, 44,
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_indexed),
                     MVT::v2i64, 4, 3, 4, 1, 5,
    44,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_indexed),
                     MVT::v2i64, 4, 3, 4, 0, 5,
    0,
   11|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_Scope, 32,
     OPC_CheckChild0Type, MVT::i8,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_B),
                     42|128,1, 2, 2, 1,
    32,
     OPC_CheckChild0Type, MVT::i16,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_H),
                     48|128,1, 2, 2, 1,
    31,
     OPC_CheckChild0TypeI32,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_S),
                     53|128,1, 2, 2, 1,
    31,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                     58|128,1, 2, 2, 1,
    0,
   8|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 94,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_Scope, 26,
      OPC_CheckChild0Type, MVT::i8,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_B),
                      42|128,1, 2, 0, 2,
     26,
      OPC_CheckChild0Type, MVT::i16,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_H),
                      48|128,1, 2, 0, 2,
     25,
      OPC_CheckChild0TypeI32,
      OPC_CheckPredicate4,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_S),
                      53|128,1, 2, 0, 2,
     0,
    37,
     OPC_CheckChild0TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                     58|128,1, 2, 0, 2,
    0,
   117|128,2, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 14|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                       MVT::v8i16, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 2, 3,
      16, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 2, 3,
      16, MVT::v1i64,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                       MVT::v2i64, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      0,
     62, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                       MVT::v8i16, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 2, 3,
      16, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 2, 3,
      16, MVT::v1i64,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                       MVT::v2i64, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      0,
     0,
    14|128,1, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                       MVT::v8i16, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 2, 3,
      16, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 2, 3,
      16, MVT::v1i64,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                       MVT::v2i64, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      0,
     62, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                       MVT::v8i16, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 2, 3,
      16, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                       MVT::v4i32, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 2, 3,
      16, MVT::v1i64,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                       MVT::v2i64, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      0,
     0,
    75, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     16, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     16, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 2, 3,
     0,
    0,
   0,
  56,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 15, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/72, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_ZPiI),
                    48|128,1, 3, 0, 3, 2,
   15, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/73, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_ZPiI),
                    53|128,1, 3, 0, 3, 2,
   0,
  91|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/72, /*#*/0,
     OPC_EmitIntegerI32, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCH_ZPiI),
                     48|128,1, 3, 1, 3, 2,
    15, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/73, /*#*/0,
     OPC_EmitIntegerI32, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCW_ZPiI),
                     53|128,1, 3, 1, 3, 2,
    0,
   91, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_Scope, 41,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP2),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 2,
    41,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP2),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 1, 2,
    0,
   64, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP2),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_CheckChild0Same, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 2,
    16, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 1, 2,
    0,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABDS),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 15, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv16i8_v8i16),
                    MVT::v8i16, 3, 0, 3, 4,
   13, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i16_v4i32),
                    MVT::v4i32, 3, 0, 3, 4,
   13, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i32_v2i64),
                    MVT::v2i64, 3, 0, 3, 4,
   0,
  57,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 14, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv16i8_v8i16),
                    MVT::v8i16, 2, 2, 3,
   12, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv8i16_v4i32),
                    MVT::v4i32, 2, 2, 3,
   12, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv4i32_v2i64),
                    MVT::v2i64, 2, 2, 3,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABDU),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 15, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv16i8_v8i16),
                    MVT::v8i16, 3, 0, 3, 4,
   13, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv8i16_v4i32),
                    MVT::v4i32, 3, 0, 3, 4,
   13, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv4i32_v2i64),
                    MVT::v2i64, 3, 0, 3, 4,
   0,
  93|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 106, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    48, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    0,
   106, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    48, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    0,
   0,
  52|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 85, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 40,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                     MVT::v4i32, 4, 0, 1, 2, 4,
    40,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                     MVT::v2i64, 4, 0, 1, 2, 4,
    0,
   85, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 40,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                     MVT::v4i32, 4, 0, 1, 2, 4,
    40,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                     MVT::v2i64, 4, 0, 1, 2, 4,
    0,
   0,
  121,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 54, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv16i8_v8i16),
                     MVT::v8i16, 3, 2, 3, 4,
    13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i16_v4i32),
                     MVT::v4i32, 3, 2, 3, 4,
    13, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i32_v2i64),
                     MVT::v2i64, 3, 2, 3, 4,
    0,
   54, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv16i8_v8i16),
                     MVT::v8i16, 3, 2, 3, 4,
    13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv8i16_v4i32),
                     MVT::v4i32, 3, 2, 3, 4,
    13, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv4i32_v2i64),
                     MVT::v2i64, 3, 2, 3, 4,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v4i16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                   MVT::v4i32, 4, 0, 3, 1, 4,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 2, 0, 4,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                   MVT::v2i64, 4, 0, 3, 1, 4,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 2, 0, 4,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v4i16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                   MVT::v4i32, 4, 0, 3, 1, 4,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 2, 0, 4,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                   MVT::v2i64, 4, 0, 3, 1, 4,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 2, 0, 4,
   0,
  113,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 77, TARGET_VAL(AArch64ISD::SHL_PRED),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 19,
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_1),
                     58|128,1, 2, 0, 2,
    19,
     OPC_CheckChild0Integer, 2,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_2),
                     58|128,1, 2, 0, 2,
    19,
     OPC_CheckChild0Integer, 3,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_3),
                     58|128,1, 2, 0, 2,
    0,
   26, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
    OPC_RecordChild0,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/74, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_ZPiI),
                    58|128,1, 3, 0, 3, 2,
   0,
  116,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 80, TARGET_VAL(AArch64ISD::SHL_PRED),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 20,
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_1),
                     58|128,1, 2, 2, 1,
    20,
     OPC_CheckChild0Integer, 2,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_2),
                     58|128,1, 2, 2, 1,
    20,
     OPC_CheckChild0Integer, 3,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_3),
                     58|128,1, 2, 2, 1,
    0,
   27, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
    OPC_RecordChild0,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/74, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INCD_ZPiI),
                    58|128,1, 3, 1, 3, 2,
   0,
  12|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 65, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv16i8_v8i16),
                     MVT::v8i16, 3, 0, 3, 4,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_v4i32),
                     MVT::v4i32, 3, 0, 3, 4,
    19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_CheckComplexPat7, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_v2i64),
                     MVT::v2i64, 3, 0, 3, 4,
    0,
   65, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv16i8_v8i16),
                     MVT::v8i16, 3, 0, 3, 4,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_v4i32),
                     MVT::v4i32, 3, 0, 3, 4,
    19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_CheckComplexPat7, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_v2i64),
                     MVT::v2i64, 3, 0, 3, 4,
    0,
   0,
  37|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 75|128,1, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_SwitchType , 34, MVT::i8,
     OPC_CheckPredicate, 80,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 80,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_B),
                     42|128,1, 2, 2, 3,
    34, MVT::i16,
     OPC_CheckPredicate, 81,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 81,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_H),
                     48|128,1, 2, 2, 3,
    32, MVT::i32,
     OPC_CheckPredicate, 123,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_S),
                     53|128,1, 2, 2, 3,
    88, MVT::i64,
     OPC_Scope, 32,
      OPC_CheckPredicate, 124,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_D),
                      58|128,1, 2, 2, 3,
     52,
      OPC_CheckPredicate, 79,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNodeXForm, 0, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 4,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 3, 5, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                      58|128,1, 2, 2, 7,
     0,
    0,
   68, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv16i8_v8i16),
                     MVT::v8i16, 3, 2, 3, 4,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i16_v4i32),
                     MVT::v4i32, 3, 2, 3, 4,
    20,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i32_v2i64),
                     MVT::v2i64, 3, 2, 3, 4,
    0,
   68, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv16i8_v8i16),
                     MVT::v8i16, 3, 2, 3, 4,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i16_v4i32),
                     MVT::v4i32, 3, 2, 3, 4,
    20,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i32_v2i64),
                     MVT::v2i64, 3, 2, 3, 4,
    0,
   65|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 107, MVT::i32,
     OPC_Scope, 35,
      OPC_CheckPredicate, 80,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 80,
      OPC_CheckType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitNodeXForm, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_B),
                      42|128,1, 2, 2, 3,
     35,
      OPC_CheckPredicate, 81,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 81,
      OPC_CheckType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitNodeXForm, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_H),
                      48|128,1, 2, 2, 3,
     32,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 123,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_S),
                      53|128,1, 2, 2, 3,
     0,
    75, MVT::i64,
     OPC_CheckPredicate, 10,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckTypeI64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 124,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_D),
                      58|128,1, 2, 2, 3,
     39,
      OPC_CheckPredicate, 79,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNodeXForm, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 4,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 3, 5, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                      58|128,1, 2, 2, 7,
     0,
    0,
   0,
  8|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 40,
    OPC_CheckChild0Integer, 1,
    OPC_Scope, 17,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_1),
                     58|128,1, 2, 0, 2,
    17,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_1),
                     53|128,1, 2, 0, 2,
    0,
   40,
    OPC_CheckChild0Integer, 2,
    OPC_Scope, 17,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_2),
                     58|128,1, 2, 0, 2,
    17,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_2),
                     53|128,1, 2, 0, 2,
    0,
   40,
    OPC_CheckChild0Integer, 3,
    OPC_Scope, 17,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_3),
                     58|128,1, 2, 0, 2,
    17,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_3),
                     53|128,1, 2, 0, 2,
    0,
   0,
  13|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SHL_PRED),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 42,
    OPC_CheckChild0Integer, 1,
    OPC_Scope, 18,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_1),
                     58|128,1, 2, 2, 1,
    18,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_1),
                     53|128,1, 2, 2, 1,
    0,
   42,
    OPC_CheckChild0Integer, 2,
    OPC_Scope, 18,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_2),
                     58|128,1, 2, 2, 1,
    18,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_2),
                     53|128,1, 2, 2, 1,
    0,
   42,
    OPC_CheckChild0Integer, 3,
    OPC_Scope, 18,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_3),
                     58|128,1, 2, 2, 1,
    18,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_3),
                     53|128,1, 2, 2, 1,
    0,
   0,
  68,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPredicate4,
   OPC_MoveParent,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_B_UNDEF),
                    42|128,1, 4, 1, 0, 2, 3,
   11, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_H_UNDEF),
                    48|128,1, 4, 1, 0, 2, 3,
   11, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_S_UNDEF),
                    53|128,1, 4, 1, 0, 2, 3,
   11, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_D_UNDEF),
                    58|128,1, 4, 1, 0, 2, 3,
   0,
  68,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPredicate4,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_B_UNDEF),
                    42|128,1, 4, 0, 3, 1, 2,
   11, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_H_UNDEF),
                    48|128,1, 4, 0, 3, 1, 2,
   11, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_S_UNDEF),
                    53|128,1, 4, 0, 3, 1, 2,
   11, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_D_UNDEF),
                    58|128,1, 4, 0, 3, 1, 2,
   0,
  46|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 82, TARGET_VAL(AArch64ISD::SRA_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_B),
                     42|128,1, 3, 0, 2, 4,
    16, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_H),
                     48|128,1, 3, 0, 2, 4,
    16, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_S),
                     53|128,1, 3, 0, 2, 4,
    16, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_D),
                     58|128,1, 3, 0, 2, 4,
    0,
   82, TARGET_VAL(AArch64ISD::SRL_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_B),
                     42|128,1, 3, 0, 2, 4,
    16, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_H),
                     48|128,1, 3, 0, 2, 4,
    16, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_S),
                     53|128,1, 3, 0, 2, 4,
    16, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/54, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_D),
                     58|128,1, 3, 0, 2, 4,
    0,
   0,
  47|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 83, TARGET_VAL(AArch64ISD::SRA_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_B),
                     42|128,1, 3, 3, 1, 4,
    16, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_H),
                     48|128,1, 3, 3, 1, 4,
    16, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_S),
                     53|128,1, 3, 3, 1, 4,
    16, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_D),
                     58|128,1, 3, 3, 1, 4,
    0,
   83, TARGET_VAL(AArch64ISD::SRL_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_B),
                     42|128,1, 3, 3, 1, 4,
    16, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_H),
                     48|128,1, 3, 3, 1, 4,
    16, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_S),
                     53|128,1, 3, 3, 1, 4,
    16, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/54, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_D),
                     58|128,1, 3, 3, 1, 4,
    0,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_0),
                   58|128,1, 2, 0, 1,
  119,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_SwitchType , 26, MVT::i8,
    OPC_CheckPredicate, 80,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_B),
                    42|128,1, 2, 1, 2,
   26, MVT::i16,
    OPC_CheckPredicate, 81,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_H),
                    48|128,1, 2, 1, 2,
   24, MVT::i32,
    OPC_CheckPredicate, 123,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_S),
                    53|128,1, 2, 1, 2,
   24, MVT::i64,
    OPC_CheckPredicate, 124,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_D),
                    58|128,1, 2, 1, 2,
   0,
  93|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 106,
    OPC_CheckChild0Integer, 126|128,14,
    OPC_RecordChild1,
    OPC_Scope, 24,
     OPC_CheckChild1Type, 35|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_B),
                     42|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 34|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_H),
                     48|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 33|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_S),
                     53|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 32|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   106,
    OPC_CheckChild0Integer, 65|128,16,
    OPC_RecordChild1,
    OPC_Scope, 24,
     OPC_CheckChild1Type, 35|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_B),
                     42|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 34|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_H),
                     48|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 33|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_S),
                     53|128,1, 3, 0, 2, 3,
    24,
     OPC_CheckChild1Type, 32|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   0,
  114,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 76,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_SwitchType , 20, MVT::i8,
     OPC_CheckPredicate, 80,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_B),
                     42|128,1, 2, 0, 2,
    20, MVT::i16,
     OPC_CheckPredicate, 81,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_H),
                     48|128,1, 2, 0, 2,
    18, MVT::i32,
     OPC_CheckPredicate, 123,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_S),
                     53|128,1, 2, 0, 2,
    0,
   29,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 124,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RI_D),
                    58|128,1, 2, 0, 2,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_0),
                   58|128,1, 2, 0, 1,
  63|128,5,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 58, TARGET_VAL(ISD::AND),
    OPC_Scope, 27,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_0),
                     58|128,1, 2, 1, 0,
    27,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_UXTW_ZZZ_D_0),
                     58|128,1, 2, 1, 0,
    0,
   96|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 110,
     OPC_CheckChild0Integer, 126|128,14,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild1Type, 35|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 42|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_B),
                      42|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 34|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 48|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_H),
                      48|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 33|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 53|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_S),
                      53|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 32|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 58|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_D),
                      58|128,1, 3, 3, 1, 2,
     0,
    110,
     OPC_CheckChild0Integer, 65|128,16,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild1Type, 35|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 42|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_B),
                      42|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 34|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 48|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_H),
                      48|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 33|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 53|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_S),
                      53|128,1, 3, 3, 1, 2,
     25,
      OPC_CheckChild1Type, 32|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 58|128,1,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_D),
                      58|128,1, 3, 3, 1, 2,
     0,
    0,
   77|128,1, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 39,
     OPC_CheckChild0Type, MVT::i8,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 80,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                     42|128,1, 2, 2, 4,
    39,
     OPC_CheckChild0Type, MVT::i16,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 81,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                     48|128,1, 2, 2, 4,
    35,
     OPC_CheckChild0TypeI32,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                     53|128,1, 2, 2, 3,
    35,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                     58|128,1, 2, 2, 3,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 79,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                     58|128,1, 2, 1, 6,
    0,
   70|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 15|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_SwitchType , 103, MVT::i32,
      OPC_Scope, 34,
       OPC_CheckPredicate, 80,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::i8,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget0,
       OPC_EmitNodeXForm, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                       42|128,1, 2, 2, 4,
      34,
       OPC_CheckPredicate, 81,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::i16,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget0,
       OPC_EmitNodeXForm, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                       48|128,1, 2, 2, 4,
      30,
       OPC_CheckPredicate, 10,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                       53|128,1, 2, 2, 3,
      0,
     30, MVT::i64,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI64,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                      58|128,1, 2, 2, 3,
     0,
    49,
     OPC_CheckChild0TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 79,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNodeXForm, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                     58|128,1, 2, 0, 6,
    0,
   0,
  98|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 4|128,1, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv8i8_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 6, 7,
    42,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv4i16_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 6, 7,
    42,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv2i32_v2i64),
                     MVT::v2i64, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 6, 7,
    0,
   4|128,1, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv8i8_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 6, 7,
    42,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv4i16_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 6, 7,
    42,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv2i32_v2i64),
                     MVT::v2i64, 3, 5, 1, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 6, 7,
    0,
   107, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   107, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   107, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   0,
  106|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 7|128,1, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv8i8_v8i16),
                     MVT::v8i16, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 6, 7,
    43,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv4i16_v4i32),
                     MVT::v4i32, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 6, 7,
    43,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALv2i32_v2i64),
                     MVT::v2i64, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 6, 7,
    0,
   7|128,1, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv8i8_v8i16),
                     MVT::v8i16, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 6, 7,
    43,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv4i16_v4i32),
                     MVT::v4i32, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 6, 7,
    43,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALv2i32_v2i64),
                     MVT::v2i64, 3, 5, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 6, 7,
    0,
   108, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   108, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   108, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 31, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv8i8_v8i16),
                     MVT::v8i16, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 5, 6,
    31, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv4i16_v4i32),
                     MVT::v4i32, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 5, 6,
    31, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWv2i32_v2i64),
                     MVT::v2i64, 2, 4, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 5, 6,
    0,
   0,
  57|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 106, TARGET_VAL(AArch64ISD::SMULL),
    OPC_Scope, 69,
     OPC_RecordChild0,
     OPC_Scope, 32,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                      MVT::v4i32, 4, 0, 1, 2, 4,
     32,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                      MVT::v2i64, 4, 0, 1, 2, 4,
     0,
    33,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                     MVT::v4i32, 4, 0, 3, 1, 4,
    0,
   69, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 32,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                     MVT::v4i32, 4, 0, 1, 2, 4,
    32,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                     MVT::v2i64, 4, 0, 1, 2, 4,
    0,
   0,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 2, 0, 4,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                   MVT::v2i64, 4, 0, 3, 1, 4,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 2, 0, 4,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                   MVT::v4i32, 4, 0, 3, 1, 4,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 2, 0, 4,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                   MVT::v2i64, 4, 0, 3, 1, 4,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 2, 0, 4,
   0,
  8|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   41, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   41, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   0,
  10|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv16i8_v8i16),
                     MVT::v8i16, 2, 1, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv8i16_v4i32),
                     MVT::v4i32, 2, 1, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv4i32_v2i64),
                     MVT::v2i64, 2, 1, 2,
    0,
   42, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv16i8_v8i16),
                     MVT::v8i16, 2, 1, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i16_v4i32),
                     MVT::v4i32, 2, 1, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i32_v2i64),
                     MVT::v2i64, 2, 1, 2,
    0,
   42, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv16i8_v8i16),
                     MVT::v8i16, 2, 1, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i16_v4i32),
                     MVT::v4i32, 2, 1, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i32_v2i64),
                     MVT::v2i64, 2, 1, 2,
    0,
   0,
  92|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 56|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 90,
     OPC_CheckChild0Integer, 45|128,5,
     OPC_RecordChild1,
     OPC_Scope, 13,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i8_v4i16),
                      MVT::v4i16, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv16i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i16_v2i32),
                      MVT::v2i32, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv2i32_v1i64),
                      MVT::v1i64, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    90,
     OPC_CheckChild0Integer, 110|128,5,
     OPC_RecordChild1,
     OPC_Scope, 13,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i8_v4i16),
                      MVT::v4i16, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv16i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i16_v2i32),
                      MVT::v2i32, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv2i32_v1i64),
                      MVT::v1i64, 2, 0, 1,
     13,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   10|128,1, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    30,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   10|128,1, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    30,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   0,
  113|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 96,
     OPC_CheckChild0Integer, 45|128,5,
     OPC_RecordChild1,
     OPC_Scope, 14,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i8_v4i16),
                      MVT::v4i16, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv16i8_v8i16),
                      MVT::v8i16, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i16_v2i32),
                      MVT::v2i32, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i16_v4i32),
                      MVT::v4i32, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv2i32_v1i64),
                      MVT::v1i64, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i32_v2i64),
                      MVT::v2i64, 2, 1, 0,
     0,
    96,
     OPC_CheckChild0Integer, 110|128,5,
     OPC_RecordChild1,
     OPC_Scope, 14,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i8_v4i16),
                      MVT::v4i16, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv16i8_v8i16),
                      MVT::v8i16, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i16_v2i32),
                      MVT::v2i32, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i16_v4i32),
                      MVT::v4i32, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv2i32_v1i64),
                      MVT::v1i64, 2, 1, 0,
     14,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i32_v2i64),
                      MVT::v2i64, 2, 1, 0,
     0,
    0,
   15|128,1, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    31,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   15|128,1, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    31,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   0,
  10|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 0|128,1, TARGET_VAL(AArch64ISD::SRSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    28,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    28,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    28,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    15,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   0|128,1, TARGET_VAL(AArch64ISD::URSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    28,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    28,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    28,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    15,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   123, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 84,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 13, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/92, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_B),
                      42|128,1, 3, 0, 2, 3,
     29, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/93, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_H),
                       48|128,1, 3, 0, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/140, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_H),
                       48|128,1, 3, 0, 2, 3,
      0,
     29, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/94, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_S),
                       53|128,1, 3, 0, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/141, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_S),
                       53|128,1, 3, 0, 2, 3,
      0,
     0,
    34,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/95, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_D),
                      58|128,1, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/142, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_D),
                      58|128,1, 3, 0, 2, 3,
     0,
    0,
   0,
  8|128,5,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 5|128,1, TARGET_VAL(AArch64ISD::SRSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    29,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    29,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    29,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    16,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   5|128,1, TARGET_VAL(AArch64ISD::URSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    29,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    29,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    29,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    16,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   113|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 42|128,1,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 84,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 13, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/92, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_B),
                       42|128,1, 3, 1, 2, 3,
      29, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_Scope, 12,
        OPC_CheckComplexPat, /*CP*/93, /*#*/0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_H),
                        48|128,1, 3, 1, 2, 3,
       12,
        OPC_CheckComplexPat, /*CP*/140, /*#*/0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_H),
                        48|128,1, 3, 1, 2, 3,
       0,
      29, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_Scope, 12,
        OPC_CheckComplexPat, /*CP*/94, /*#*/0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_S),
                        53|128,1, 3, 1, 2, 3,
       12,
        OPC_CheckComplexPat, /*CP*/141, /*#*/0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_S),
                        53|128,1, 3, 1, 2, 3,
       0,
      0,
     81,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_Scope, 25,
       OPC_CheckChild0Type, MVT::i8,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitNodeXForm, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_B),
                       42|128,1, 2, 0, 3,
      25,
       OPC_CheckChild0Type, MVT::i16,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitNodeXForm, 0, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_H),
                       48|128,1, 2, 0, 3,
      21,
       OPC_CheckChild0TypeI32,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                       MVT::i32, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_S),
                       53|128,1, 2, 0, 2,
      0,
     0,
    65,
     OPC_CheckChild0TypeI64,
     OPC_Scope, 34,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/95, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZI_D),
                       58|128,1, 3, 1, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/142, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_D),
                       58|128,1, 3, 1, 2, 3,
      0,
     26,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI64,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                      58|128,1, 2, 0, 2,
     0,
    0,
   123, TARGET_VAL(ISD::STEP_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 31,
     OPC_CheckChild0Type, MVT::i8,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_B),
                     42|128,1, 2, 1, 3,
    31,
     OPC_CheckChild0Type, MVT::i16,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_H),
                     48|128,1, 2, 1, 3,
    27,
     OPC_CheckChild0TypeI32,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_S),
                     53|128,1, 2, 1, 2,
    27,
     OPC_CheckChild0TypeI64,
     OPC_CheckPredicate4,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_RR_D),
                     58|128,1, 2, 1, 2,
    0,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABDS),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i8_v8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i16_v4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv2i32_v2i64),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  43,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv8i8_v8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv4i16_v4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLv2i32_v2i64),
                    MVT::v2i64, 2, 0, 1,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABDU),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv8i8_v8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv4i16_v4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   9, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv2i32_v2i64),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  103|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 34, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    34, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   78, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 34, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    34, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   20, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64),
                    MVT::v2i64, 2, 0, 1,
   40, TARGET_VAL(AArch64ISD::UZP1),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP2),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i32),
                     MVT::v4i32, 2, 0, 1,
    7, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::v8i16, 2, 0, 1,
    7, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::v16i8, 2, 0, 1,
    0,
   0,
  116|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 91, TARGET_VAL(AArch64ISD::URSHR_I_PRED),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, 35|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_B),
                     42|128,1, 3, 0, 2, 3,
    21,
     OPC_CheckChild0Type, 34|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_H),
                     48|128,1, 3, 0, 2, 3,
    21,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_S),
                     53|128,1, 3, 0, 2, 3,
    21,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   70, TARGET_VAL(AArch64ISD::ABDS_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_B),
                     42|128,1, 3, 0, 2, 3,
    13, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_H),
                     48|128,1, 3, 0, 2, 3,
    13, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_S),
                     53|128,1, 3, 0, 2, 3,
    13, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   70, TARGET_VAL(AArch64ISD::ABDU_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_B),
                     42|128,1, 3, 0, 2, 3,
    13, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_H),
                     48|128,1, 3, 0, 2, 3,
    13, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_S),
                     53|128,1, 3, 0, 2, 3,
    13, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   0,
  23|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 89, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 40, TARGET_VAL(ISD::ABDS),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i8_v8i16),
                      MVT::v8i16, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i16_v4i32),
                      MVT::v4i32, 3, 2, 0, 1,
     9, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv2i32_v2i64),
                      MVT::v2i64, 3, 2, 0, 1,
     0,
    40, TARGET_VAL(ISD::ABDU),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv8i8_v8i16),
                      MVT::v8i16, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv4i16_v4i32),
                      MVT::v4i32, 3, 2, 0, 1,
     9, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALv2i32_v2i64),
                      MVT::v2i64, 3, 2, 0, 1,
     0,
    0,
   71, TARGET_VAL(AArch64ISD::ABDS_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_B),
                     42|128,1, 3, 3, 1, 2,
    13, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_H),
                     48|128,1, 3, 3, 1, 2,
    13, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_S),
                     53|128,1, 3, 3, 1, 2,
    13, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_D),
                     58|128,1, 3, 3, 1, 2,
    0,
   20, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64),
                    MVT::v2i64, 2, 0, 1,
   40, TARGET_VAL(AArch64ISD::UZP2),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP1),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i32),
                     MVT::v4i32, 2, 0, 1,
    7, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::v8i16, 2, 0, 1,
    7, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::v16i8, 2, 0, 1,
    0,
   95, TARGET_VAL(AArch64ISD::URSHR_I_PRED),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, 35|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_B),
                     42|128,1, 3, 3, 1, 2,
    22,
     OPC_CheckChild0Type, 34|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_H),
                     48|128,1, 3, 3, 1, 2,
    22,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_S),
                     53|128,1, 3, 3, 1, 2,
    22,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_D),
                     58|128,1, 3, 3, 1, 2,
    0,
   71, TARGET_VAL(AArch64ISD::ABDU_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_B),
                     42|128,1, 3, 3, 1, 2,
    13, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_H),
                     48|128,1, 3, 3, 1, 2,
    13, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_S),
                     53|128,1, 3, 3, 1, 2,
    13, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_D),
                     58|128,1, 3, 3, 1, 2,
    0,
   0,
  95,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 25, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i8_v8i16),
                    MVT::v8i16, 3, 0, 1, 5,
   25, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i16_v4i32),
                    MVT::v4i32, 3, 0, 1, 5,
   25, MVT::v2i64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv2i32_v2i64),
                    MVT::v2i64, 3, 0, 1, 5,
   0,
  95,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv8i8_v8i16),
                    MVT::v8i16, 3, 1, 0, 5,
   25, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv4i16_v4i32),
                    MVT::v4i32, 3, 1, 0, 5,
   25, MVT::v2i64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALv2i32_v2i64),
                    MVT::v2i64, 3, 1, 0, 5,
   0,
  61|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 87, TARGET_VAL(AArch64ISD::SADDLP),
    OPC_RecordChild0,
    OPC_Scope, 13,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i8_v4i16),
                     MVT::v4i16, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv16i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i16_v2i32),
                     MVT::v2i32, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv2i32_v1i64),
                     MVT::v1i64, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   87, TARGET_VAL(AArch64ISD::UADDLP),
    OPC_RecordChild0,
    OPC_Scope, 13,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i8_v4i16),
                     MVT::v4i16, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv16i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i16_v2i32),
                     MVT::v2i32, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv2i32_v1i64),
                     MVT::v1i64, 2, 0, 1,
    13,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   71, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i8),
                     MVT::v8i8, 3, 0, 1, 2,
    9, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i16),
                     MVT::v4i16, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv2i32),
                     MVT::v2i32, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   71, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv8i8),
                     MVT::v8i8, 3, 0, 1, 2,
    9, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    9, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv4i16),
                     MVT::v4i16, 3, 0, 1, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    9, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv2i32),
                     MVT::v2i32, 3, 0, 1, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   34, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   51, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 15,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i8_v8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    15,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_v4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    15,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_v2i64),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   34, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   34, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   51, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 15,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i8_v8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    15,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_v4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    15,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_v2i64),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   19, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_0),
                    58|128,1, 2, 0, 1,
   0,
  84|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 93, TARGET_VAL(AArch64ISD::SADDLP),
    OPC_RecordChild0,
    OPC_Scope, 14,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i8_v4i16),
                     MVT::v4i16, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv16i8_v8i16),
                     MVT::v8i16, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i16_v2i32),
                     MVT::v2i32, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv8i16_v4i32),
                     MVT::v4i32, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv2i32_v1i64),
                     MVT::v1i64, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALPv4i32_v2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   93, TARGET_VAL(AArch64ISD::UADDLP),
    OPC_RecordChild0,
    OPC_Scope, 14,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i8_v4i16),
                     MVT::v4i16, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv16i8_v8i16),
                     MVT::v8i16, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i16_v2i32),
                     MVT::v2i32, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv8i16_v4i32),
                     MVT::v4i32, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv2i32_v1i64),
                     MVT::v1i64, 2, 1, 0,
    14,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALPv4i32_v2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   72, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 9, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i8),
                     MVT::v8i8, 3, 2, 0, 1,
    9, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv16i8),
                     MVT::v16i8, 3, 2, 0, 1,
    9, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i16),
                     MVT::v4i16, 3, 2, 0, 1,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i16),
                     MVT::v8i16, 3, 2, 0, 1,
    9, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv2i32),
                     MVT::v2i32, 3, 2, 0, 1,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i32),
                     MVT::v4i32, 3, 2, 0, 1,
    0,
   72, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 9, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv8i8),
                     MVT::v8i8, 3, 2, 0, 1,
    9, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv16i8),
                     MVT::v16i8, 3, 2, 0, 1,
    9, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv4i16),
                     MVT::v4i16, 3, 2, 0, 1,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv8i16),
                     MVT::v8i16, 3, 2, 0, 1,
    9, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv2i32),
                     MVT::v2i32, 3, 2, 0, 1,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABAv4i32),
                     MVT::v4i32, 3, 2, 0, 1,
    0,
   35, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv8i8_v8i16),
                     MVT::v8i16, 2, 1, 0,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv4i16_v4i32),
                     MVT::v4i32, 2, 1, 0,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWv2i32_v2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   54, TARGET_VAL(AArch64ISD::SMULL),
    OPC_RecordChild0,
    OPC_Scope, 16,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv8i8_v8i16),
                     MVT::v8i16, 3, 2, 0, 1,
    16,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv4i16_v4i32),
                     MVT::v4i32, 3, 2, 0, 1,
    16,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALv2i32_v2i64),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   35, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 1, 0,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 1, 0,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   35, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv8i8_v8i16),
                     MVT::v8i16, 2, 1, 0,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv4i16_v4i32),
                     MVT::v4i32, 2, 1, 0,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWv2i32_v2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   54, TARGET_VAL(AArch64ISD::UMULL),
    OPC_RecordChild0,
    OPC_Scope, 16,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv8i8_v8i16),
                     MVT::v8i16, 3, 2, 0, 1,
    16,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv4i16_v4i32),
                     MVT::v4i32, 3, 2, 0, 1,
    16,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALv2i32_v2i64),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   20, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_SXTW_ZZZ_D_0),
                    58|128,1, 2, 1, 0,
   0,
  27|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 58, TARGET_VAL(ISD::ABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv16i8),
                     MVT::v16i8, 3, 0, 1, 3,
    16, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i16),
                     MVT::v8i16, 3, 0, 1, 3,
    16, MVT::v4i32,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i32),
                     MVT::v4i32, 3, 0, 1, 3,
    0,
   104, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 22, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                     42|128,1, 3, 1, 0, 4,
    22, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                     48|128,1, 3, 1, 0, 4,
    22, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                     53|128,1, 3, 1, 0, 4,
    22, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                     58|128,1, 3, 1, 0, 4,
    0,
   108, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 23, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                     42|128,1, 3, 1, 0, 4,
    23, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                     48|128,1, 3, 1, 0, 4,
    23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                     53|128,1, 3, 1, 0, 4,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                     58|128,1, 3, 1, 0, 4,
    0,
   0,
  29|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 59, TARGET_VAL(ISD::ABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv16i8),
                     MVT::v16i8, 3, 1, 0, 3,
    16, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i16),
                     MVT::v8i16, 3, 1, 0, 3,
    16, MVT::v4i32,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i32),
                     MVT::v4i32, 3, 1, 0, 3,
    0,
   105, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 22, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                     42|128,1, 3, 0, 1, 4,
    22, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                     48|128,1, 3, 0, 1, 4,
    22, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                     53|128,1, 3, 0, 1, 4,
    22, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                     58|128,1, 3, 0, 1, 4,
    0,
   109, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 23, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                     42|128,1, 3, 0, 1, 4,
    23, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                     48|128,1, 3, 0, 1, 4,
    23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                     53|128,1, 3, 0, 1, 4,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                     58|128,1, 3, 0, 1, 4,
    0,
   0,
  90,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 25, MVT::v8i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i8),
                    MVT::v8i8, 3, 0, 1, 5,
   25, MVT::v4i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i16),
                    MVT::v4i16, 3, 0, 1, 5,
   25, MVT::v2i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv2i32),
                    MVT::v2i32, 3, 0, 1, 5,
   0,
  90,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v8i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv8i8),
                    MVT::v8i8, 3, 1, 0, 5,
   25, MVT::v4i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv4i16),
                    MVT::v4i16, 3, 1, 0, 5,
   25, MVT::v2i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 2,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABAv2i32),
                    MVT::v2i32, 3, 1, 0, 5,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv2i64),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv1i64),
                    MVT::v1i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZZZ_B),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  0,
 86|128,80, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 31|128,11,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 12|128,1,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_Scope, 106,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 14,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/17, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    28,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   10|128,1,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 105,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/17, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    27,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   8|128,1,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_Scope, 104,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/29, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/30, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    26,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   11|128,1,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 105,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/29, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/30, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    27,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   9|128,1,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_Scope, 104,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/25, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/26, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/27, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    27,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i64), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   12|128,1,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 105,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/25, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/26, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/27, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    28,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i64), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   23|128,1,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_Scope, 105,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/17, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i16, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i16, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    40,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 7, 3,
    0,
   20|128,1,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_Scope, 104,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckComplexPat, /*CP*/29, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     23,
      OPC_CheckComplexPat, /*CP*/30, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 7,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 8, 3, 4, 5, 6,
     21,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     21,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    38,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 7, 3,
    0,
   52,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    17, MVT::i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 4, 3,
    0,
   29,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 4, 3,
   76,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 30, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 7, 3,
    29, MVT::i8,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 7, 3,
    0,
   42,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 7, 3,
   41,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 7, 3,
   41,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 6, 7, 3,
   0,
  108|128,12,
   OPC_RecordChild1,
   OPC_Scope, 115,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 73,
     OPC_CheckPredicate, 39,
     OPC_Scope, 33,
      OPC_CheckPredicate0,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      14,
       OPC_CheckComplexPat, /*CP*/22, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      0,
     34,
      OPC_CheckPredicate, 14,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/16, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      14,
       OPC_CheckComplexPat, /*CP*/17, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      0,
     0,
    34,
     OPC_CheckPredicate, 8,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    0,
   127|128,1,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 34,
     OPC_CheckPredicate, 8,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    34|128,1,
     OPC_CheckPredicate, 39,
     OPC_Scope, 51,
      OPC_CheckPredicate0,
      OPC_Scope, 23,
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      23,
       OPC_CheckComplexPat, /*CP*/22, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      0,
     52,
      OPC_CheckPredicate, 14,
      OPC_Scope, 23,
       OPC_CheckComplexPat, /*CP*/16, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      23,
       OPC_CheckComplexPat, /*CP*/17, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      0,
     52,
      OPC_CheckPredicate, 34,
      OPC_Scope, 23,
       OPC_CheckComplexPat, /*CP*/29, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      23,
       OPC_CheckComplexPat, /*CP*/30, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 7,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 8, 3, 4, 5, 6,
      0,
     0,
    49,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 32,
     OPC_EmitIntegerI64, 63,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UBFMXri),
                     MVT::i64, 3, 1, 7, 8,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPWi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   40,
    OPC_CheckChild1Type, MVT::i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/21, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/22, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   40,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/16, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/17, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   40,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/29, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/30, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   40,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   41,
    OPC_CheckChild1Type, MVT::f128,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 121,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/52, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/53, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   87,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    45,
     OPC_CheckPredicate, 44,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 7, 1, 8,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   42,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   87,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    45,
     OPC_CheckPredicate, 44,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 7, 1, 8,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   87,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    45,
     OPC_CheckPredicate, 44,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 7, 1, 8,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   41,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   41,
    OPC_CheckChild1Type, MVT::v4bf16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   87,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    47,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 7, 1, 8,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   88,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    47,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/105, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 7, 1, 8,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                     MVT::i32, 2, 9, 10,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 11, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 34,
     OPC_CheckPatternPredicate, 76,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    35,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/106, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::i64, 2, 1, 7,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 8, 3, 4,
    0,
   42,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 76,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/52, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/53, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   80,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 34,
     OPC_CheckPatternPredicate, 76,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    35,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/106, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::i64, 2, 1, 7,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 8, 3, 4,
    0,
   42,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 76,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/52, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/53, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   80,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 34,
     OPC_CheckPatternPredicate, 76,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    35,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/106, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::i64, 2, 1, 7,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 8, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 34,
     OPC_CheckPatternPredicate, 76,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    35,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/106, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 5,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::i64, 2, 1, 7,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 6, 8, 3, 4,
    0,
   41,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 76,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/52, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/53, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   41,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 76,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/52, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/53, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   0,
  23|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_SwitchType , 82, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 39,
    OPC_Scope, 23,
     OPC_CheckPredicate, 34,
     OPC_CheckComplexPat, /*CP*/28, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    23,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    23,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/20, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     1|128,2, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    0,
   58, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 39,
    OPC_Scope, 23,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    23,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/20, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     1|128,2, 2, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 6, 3, 4,
    0,
   0,
  85|128,6,
   OPC_RecordChild1,
   OPC_Scope, 97,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 14,
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    75,
     OPC_CheckPredicate, 39,
     OPC_Scope, 23,
      OPC_CheckPredicate, 34,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     23,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/20, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    0,
   55,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 14,
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/28, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    33,
     OPC_CheckPredicate, 39,
     OPC_Scope, 14,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/20, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   20,
    OPC_CheckChild1Type, MVT::i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/20, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/14, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/28, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/27, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   19,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/27, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/27, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   38,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v4bf16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   35,
    OPC_CheckChild1Type, MVT::f128,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   38,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   38,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   37,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/51, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/37, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   0,
  47|128,5,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate0,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   36,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   34,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   36,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   35,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   37,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   35,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   35,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 4, 3, 5,
   48,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate0,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   48,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   46,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   48,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   47,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   49,
    OPC_CheckChild0Type, 21|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 8,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   47,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   47,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 6, 7, 3, 8,
   0,
  51|128,17,
   OPC_RecordChild1,
   OPC_Scope, 125,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 50,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    14,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/55, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    48,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    0,
   85|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 70,
     OPC_CheckPredicate, 8,
     OPC_Scope, 50,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 21,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      22,
       OPC_CheckComplexPat, /*CP*/9, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      0,
     14,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    26,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 96,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    27,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 96,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    53,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    0,
   14|128,2,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 70,
     OPC_CheckPredicate, 8,
     OPC_Scope, 50,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 21,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      22,
       OPC_CheckComplexPat, /*CP*/23, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      0,
     14,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    54,
     OPC_CheckPredicate, 39,
     OPC_Scope, 24,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    56,
     OPC_CheckPredicate, 39,
     OPC_Scope, 25,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     25,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    53,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    0,
   65|128,2,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 70,
     OPC_CheckPredicate, 8,
     OPC_Scope, 50,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 21,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      22,
       OPC_CheckComplexPat, /*CP*/33, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 1, 6, 3, 4,
      0,
     14,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    79,
     OPC_CheckPredicate, 39,
     OPC_Scope, 24,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPredicate, 139,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    82,
     OPC_CheckPredicate, 39,
     OPC_Scope, 25,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     25,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     25,
      OPC_CheckPredicate, 139,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    53,
     OPC_CheckPredicate, 8,
     OPC_Scope, 23,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     24,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    0,
   22|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 50,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    14,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/55, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    48,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPatternPredicate, 23,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   22|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 50,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    14,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/55, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    48,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPatternPredicate, 23,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   22|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 50,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    14,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/55, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    48,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPatternPredicate, 23,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   22|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 50,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    14,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/55, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    48,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 21,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     22,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 6, 3, 4,
     0,
    24,
     OPC_CheckPatternPredicate, 23,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   56,
    OPC_CheckChild1Type, 65|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 21,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    22,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   56,
    OPC_CheckChild1Type, 71|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 21,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    22,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   56,
    OPC_CheckChild1Type, 64|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 21,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    22,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   56,
    OPC_CheckChild1Type, 70|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 21,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    22,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   56,
    OPC_CheckChild1Type, 76|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 21,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    22,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 6, 3, 4,
    0,
   97,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 14,
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURXi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    75,
     OPC_CheckPredicate, 39,
     OPC_Scope, 23,
      OPC_CheckPredicate, 34,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     23,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     22,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 6, 3, 4,
     0,
    0,
   55,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_Scope, 14,
     OPC_CheckPredicate, 8,
     OPC_CheckComplexPat, /*CP*/31, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    33,
     OPC_CheckPredicate, 39,
     OPC_Scope, 14,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     13,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   20,
    OPC_CheckChild1Type, MVT::i8,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/19, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/13, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/31, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/24, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   20,
    OPC_CheckChild1Type, MVT::f128,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat, /*CP*/37, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   35,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/13, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   20,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/24, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   19,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckComplexPat, /*CP*/24, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   36,
    OPC_CheckChild1Type, 1|128,2,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/19, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    12,
     OPC_CheckComplexPat, /*CP*/20, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBui), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   21,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/143, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_PXI), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 3, 4,
   0,
  15|128,5,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate0,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   34,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   34,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   33,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   35,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   33,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   33,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 1, 5, 3, 4,
   46,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate0,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   46,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 29,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   44,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   46,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   45,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   47,
    OPC_CheckChild0Type, 21|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   45,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   45,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 29,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 4, 7, 8, 3, 4,
   0,
  90|128,20,
   OPC_RecordChild1,
   OPC_Scope, 87,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 16,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev16b_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev16b), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 16,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev8h_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev8h), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 16,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev4s_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev4s), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 16,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev2d_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev2d), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 8,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev8b_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev8b), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 8,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev4h_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev4h), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 8,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev2s_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev2s), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   87,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_Scope, 22,
     OPC_CheckChild3Integer, 8,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1Onev1d_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    44,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 29,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    13,
     OPC_CheckChild2TypeI64,
     OPC_CheckPredicate, 13,
     OPC_CheckPredicate, 8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev1d), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   114,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 15,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    33,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 45,
     OPC_Scope, 12,
      OPC_CheckPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     13,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    15,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 29,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    33,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 29,
     OPC_Scope, 12,
      OPC_CheckPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     13,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    0,
   71|128,1,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 32,
     OPC_CheckPredicate, 8,
     OPC_Scope, 13,
      OPC_CheckPredicate, 45,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRXpre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     13,
      OPC_CheckPredicate, 29,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRXpost), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 2, 4,
     0,
    22|128,1,
     OPC_CheckPredicate, 39,
     OPC_Scope, 72,
      OPC_CheckPredicate, 45,
      OPC_Scope, 22,
       OPC_CheckPredicate, 34,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      22,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      21,
       OPC_CheckPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      0,
     72,
      OPC_CheckPredicate, 29,
      OPC_Scope, 22,
       OPC_CheckPredicate, 34,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpost), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      22,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpost), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      21,
       OPC_CheckPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpost), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 5, 2, 6,
      0,
     0,
    0,
   47,
    OPC_CheckChild1Type, MVT::i8,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    14,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    14,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRSpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    14,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRSpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    14,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::f128,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    14,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   45,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    13,
     OPC_CheckPredicate, 29,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   48,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   48,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::v4bf16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   48,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   48,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   47,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 46,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    15,
     OPC_CheckPredicate, 29,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 4,
    0,
   73,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 24,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    13,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 2, 3,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   105,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_Scope, 43,
     OPC_CheckPredicate, 8,
     OPC_Scope, 24,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     13,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     0,
    26,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 96,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   5|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_Scope, 43,
     OPC_CheckPredicate, 8,
     OPC_Scope, 24,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     13,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     0,
    54,
     OPC_CheckPredicate, 39,
     OPC_Scope, 24,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     24,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     0,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   30|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_Scope, 43,
     OPC_CheckPredicate, 8,
     OPC_Scope, 24,
      OPC_CheckPredicate, 44,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     13,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 2, 3,
     0,
    79,
     OPC_CheckPredicate, 39,
     OPC_Scope, 24,
      OPC_CheckPredicate, 96,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     24,
      OPC_CheckPredicate, 113,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     24,
      OPC_CheckPredicate, 139,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 3,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 4, 2, 5,
     0,
    24,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   73,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 24,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    13,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 2, 3,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   73,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 24,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    13,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 2, 3,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   73,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 24,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    13,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 2, 3,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   73,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_Scope, 24,
     OPC_CheckPredicate, 44,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    13,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 2, 3,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 4, 2, 5,
    0,
   21,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STR_PXI), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 2, 3,
   31,
    OPC_CheckChild1Type, 65|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 4, 2, 5,
   31,
    OPC_CheckChild1Type, 71|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 4, 2, 5,
   31,
    OPC_CheckChild1Type, 64|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 4, 2, 5,
   31,
    OPC_CheckChild1Type, 70|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 4, 2, 5,
   31,
    OPC_CheckChild1Type, 76|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 13,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 4, 2, 5,
   0,
  0,
 9|128,74|128,4, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 79|128,1,
   OPC_CheckChild0Integer, 64|128,5,
   OPC_RecordChild1,
   OPC_Scope, 58|128,1,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 41|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 68|128,5,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_Scope, 103,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 51, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                       MVT::i32, 4, 0, 5, 2, 6,
      43, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                       MVT::i32, 4, 0, 5, 2, 6,
      0,
     48,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 5, 2, 6,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                      MVT::i32, 4, 0, 4, 7, 8,
     0,
    11,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv1i32),
                     MVT::i32, 2, 0, 1,
    0,
   12,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv1i64),
                    MVT::i64, 2, 0, 1,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 83|128,5,
   OPC_RecordChild1,
   OPC_Scope, 58|128,1,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 41|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 68|128,5,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_Scope, 103,
      OPC_MoveChild2,
      OPC_SwitchOpcode , 51, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                       MVT::i32, 4, 0, 5, 2, 6,
      43, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 4,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                       MVT::i32, 4, 0, 5, 2, 6,
      0,
     48,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 5, 2, 6,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                      MVT::i32, 4, 0, 4, 7, 8,
     0,
    11,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv1i32),
                     MVT::i32, 2, 0, 1,
    0,
   12,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv1i64),
                    MVT::i64, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 9|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 144,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/153, /*#*/0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDG),
                   MVT::i64, 3, 2, 3, 4,
  16|128,3,
   OPC_CheckChild0Integer, 104|128,4,
   OPC_Scope, 55|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 59, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 1, 2,
      0,
     26, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    55, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::i32,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 1, 2,
      0,
     24, MVT::i64,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    55, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::i32,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 1, 2,
      0,
     24, MVT::i64,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   80|128,1,
    OPC_RecordChild1,
    OPC_Scope, 48,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                       MVT::i32, 1, 0,
      0,
     20, MVT::i64,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    42,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    42,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    10,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckType, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f16),
                     MVT::v4i16, 1, 0,
    10,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv8f16),
                     MVT::v8i16, 1, 0,
    11,
     OPC_CheckChild1Type, 2|128,1,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f32),
                     MVT::v2i32, 1, 0,
    11,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f32),
                     MVT::v4i32, 1, 0,
    11,
     OPC_CheckChild1Type, 22|128,1,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f64),
                     MVT::v2i64, 1, 0,
    11,
     OPC_CheckChild1Type, 21|128,1,
     OPC_CheckType, MVT::v1i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::v1i64, 1, 0,
    0,
   0,
  16|128,3,
   OPC_CheckChild0Integer, 105|128,4,
   OPC_Scope, 55|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 59, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 1, 2,
      0,
     26, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    55, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::i32,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 1, 2,
      0,
     24, MVT::i64,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    55, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::i32,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 1, 2,
      0,
     24, MVT::i64,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   80|128,1,
    OPC_RecordChild1,
    OPC_Scope, 48,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 20, MVT::i32,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWHr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                       MVT::i32, 1, 0,
      0,
     20, MVT::i64,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXHr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    42,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    42,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    10,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckType, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f16),
                     MVT::v4i16, 1, 0,
    10,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv8f16),
                     MVT::v8i16, 1, 0,
    11,
     OPC_CheckChild1Type, 2|128,1,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f32),
                     MVT::v2i32, 1, 0,
    11,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f32),
                     MVT::v4i32, 1, 0,
    11,
     OPC_CheckChild1Type, 22|128,1,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f64),
                     MVT::v2i64, 1, 0,
    11,
     OPC_CheckChild1Type, 21|128,1,
     OPC_CheckType, MVT::v1i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                     MVT::v1i64, 1, 0,
    0,
   0,
  28,
   OPC_CheckChild0Integer, 25|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCB_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 11|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECB_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 67|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCB_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 26|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCB_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 33|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECB_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 12|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECB_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 31|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCH_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 17|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECH_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 73|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCH_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 32|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCH_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 39|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECH_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 18|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECH_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 37|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCW_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 23|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECW_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 79|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCW_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 38|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCW_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 45|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECW_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 24|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECW_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 28|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCD_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 14|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECD_WPiI),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 70|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCD_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 29|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCD_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 36|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECD_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 15|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECD_XPiI),
                   MVT::i64, 3, 0, 1, 2,
  52,
   OPC_CheckChild0Integer, 66|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCB_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 32|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECB_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 72|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCH_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 38|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECH_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 78|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCW_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 44|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECW_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 69|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCD_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  52,
   OPC_CheckChild0Integer, 35|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECD_XPiWdI),
                   MVT::i64, 3, 5, 1, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
  73|128,2,
   OPC_CheckChild0Integer, 65|128,5,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 28,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv1i32_indexed),
                     MVT::i32, 3, 0, 1, 3,
    11,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv1i32),
                     MVT::i32, 2, 0, 1,
    0,
   88,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 69,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 34, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16_indexed),
                      MVT::v4i16, 3, 0, 1, 3,
     26, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16_indexed),
                      MVT::v4i16, 3, 0, 1, 3,
     0,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16),
                     MVT::v4i16, 2, 0, 1,
    0,
   88,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 69,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 34, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32_indexed),
                      MVT::v2i32, 3, 0, 1, 3,
     26, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32_indexed),
                      MVT::v2i32, 3, 0, 1, 3,
     0,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32),
                     MVT::v2i32, 2, 0, 1,
    0,
   49,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv8i16_indexed),
                     MVT::v8i16, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv8i16),
                     MVT::v8i16, 2, 0, 1,
    0,
   49,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i32_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i32),
                     MVT::v4i32, 2, 0, 1,
    0,
   0,
  73|128,2,
   OPC_CheckChild0Integer, 73|128,5,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 28,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv1i32_indexed),
                     MVT::i32, 3, 0, 1, 3,
    11,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv1i32),
                     MVT::i32, 2, 0, 1,
    0,
   88,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 69,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 34, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i16_indexed),
                      MVT::v4i16, 3, 0, 1, 3,
     26, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i16_indexed),
                      MVT::v4i16, 3, 0, 1, 3,
     0,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i16),
                     MVT::v4i16, 2, 0, 1,
    0,
   88,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 69,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 34, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv2i32_indexed),
                      MVT::v2i32, 3, 0, 1, 3,
     26, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv2i32_indexed),
                      MVT::v2i32, 3, 0, 1, 3,
     0,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv2i32),
                     MVT::v2i32, 2, 0, 1,
    0,
   49,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv8i16_indexed),
                     MVT::v8i16, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv8i16),
                     MVT::v8i16, 2, 0, 1,
    0,
   49,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i32_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i32),
                     MVT::v4i32, 2, 0, 1,
    0,
   0,
  111|128,2,
   OPC_CheckChild0Integer, 71|128,5,
   OPC_RecordChild1,
   OPC_Scope, 50,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 30,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv1i32_indexed),
                     MVT::i32, 4, 0, 1, 2, 4,
    13,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 94,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv1i32),
                     MVT::i32, 3, 0, 1, 2,
    0,
   97,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 73,
     OPC_MoveChild3,
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv4i16_indexed),
                      MVT::v4i16, 4, 0, 1, 2, 4,
     28, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv4i16_indexed),
                      MVT::v4i16, 4, 0, 1, 2, 4,
     0,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv4i16),
                     MVT::v4i16, 3, 0, 1, 2,
    0,
   97,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 73,
     OPC_MoveChild3,
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv2i32_indexed),
                      MVT::v2i32, 4, 0, 1, 2, 4,
     28, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv2i32_indexed),
                      MVT::v2i32, 4, 0, 1, 2, 4,
     0,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv2i32),
                     MVT::v2i32, 3, 0, 1, 2,
    0,
   56,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 32,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv8i16_indexed),
                     MVT::v8i16, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    0,
   56,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 32,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv4i32_indexed),
                     MVT::v4i32, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   0,
  111|128,2,
   OPC_CheckChild0Integer, 72|128,5,
   OPC_RecordChild1,
   OPC_Scope, 50,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 30,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv1i32_indexed),
                     MVT::i32, 4, 0, 1, 2, 4,
    13,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 94,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv1i32),
                     MVT::i32, 3, 0, 1, 2,
    0,
   97,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 73,
     OPC_MoveChild3,
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv4i16_indexed),
                      MVT::v4i16, 4, 0, 1, 2, 4,
     28, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv4i16_indexed),
                      MVT::v4i16, 4, 0, 1, 2, 4,
     0,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv4i16),
                     MVT::v4i16, 3, 0, 1, 2,
    0,
   97,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 73,
     OPC_MoveChild3,
     OPC_SwitchOpcode , 36, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv2i32_indexed),
                      MVT::v2i32, 4, 0, 1, 2, 4,
     28, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv2i32_indexed),
                      MVT::v2i32, 4, 0, 1, 2, 4,
     0,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv2i32),
                     MVT::v2i32, 3, 0, 1, 2,
    0,
   56,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 32,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv8i16_indexed),
                     MVT::v8i16, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    0,
   56,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 32,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv4i32_indexed),
                     MVT::v4i32, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 39,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   0,
  29,
   OPC_CheckChild0Integer, 69|128,5,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv1i64_indexed),
                   MVT::i64, 3, 0, 1, 3,
  50,
   OPC_CheckChild0Integer, 54|128,2,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XPACI),
                    MVT::i64, 1, 0,
   10,
    OPC_CheckChild2Integer, 1,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XPACI),
                    MVT::i64, 1, 0,
   10,
    OPC_CheckChild2Integer, 2,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XPACD),
                    MVT::i64, 1, 0,
   10,
    OPC_CheckChild2Integer, 3,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XPACD),
                    MVT::i64, 1, 0,
   0,
  34,
   OPC_CheckChild0Integer, 90|128,10,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_B),
                    MVT::i64, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_B),
                    MVT::i64, 2, 0, 1,
   0,
  34,
   OPC_CheckChild0Integer, 87|128,10,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_H),
                    MVT::i64, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_H),
                    MVT::i64, 2, 0, 1,
   0,
  34,
   OPC_CheckChild0Integer, 88|128,10,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_S),
                    MVT::i64, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_S),
                    MVT::i64, 2, 0, 1,
   0,
  34,
   OPC_CheckChild0Integer, 89|128,10,
   OPC_RecordChild1,
   OPC_Scope, 13,
    OPC_CheckChild2Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_D),
                    MVT::i64, 2, 0, 1,
   13,
    OPC_CheckChild2Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XCI_D),
                    MVT::i64, 2, 0, 1,
   0,
  41,
   OPC_CheckChild0Integer, 106|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 103|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 104|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 105|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 112|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 109|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 110|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 111|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 20|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 17|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 18|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 19|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 2|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 127|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 0|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 1|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 124|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 121|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 122|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 123|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 118|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 115|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 116|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 117|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 8|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 5|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 6|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 7|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 14|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_B),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 11|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_H),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 12|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_S),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  41,
   OPC_CheckChild0Integer, 13|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckChild3Integer, 2,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild3Integer, 4,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_CXX_D),
                    125|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  109|128,1,
   OPC_CheckChild0Integer, 19|128,6,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSs),
                    MVT::i32, 2, 0, 1,
   18,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSd),
                    MVT::i64, 2, 0, 1,
   63,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_Scope, 26,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSh),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i32, 3, 2, 3, 4,
    26,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSh),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   20,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSd),
                    MVT::v1i64, 2, 0, 1,
   20,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   20,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2i64_shift),
                    MVT::v2i64, 2, 0, 1,
   0,
  109|128,1,
   OPC_CheckChild0Integer, 20|128,6,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUs),
                    MVT::i32, 2, 0, 1,
   18,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUd),
                    MVT::i64, 2, 0, 1,
   63,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_Scope, 26,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUh),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i32, 3, 2, 3, 4,
    26,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUh),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 3, 4,
    0,
   20,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUd),
                    MVT::v1i64, 2, 0, 1,
   20,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   20,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   21,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2i64_shift),
                    MVT::v2i64, 2, 0, 1,
   0,
  22,
   OPC_CheckChild0Integer, 77|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNs),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 78|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNs),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 81|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNs),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 82|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNs),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 126|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNs),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 0|128,6,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNs),
                   MVT::i32, 2, 0, 1,
  43,
   OPC_CheckChild0Integer, 50|128,2,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 21,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 153,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 0, 2,
    OPC_EmitIntegerI32, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVKXi),
                    MVT::i64, 3, 0, 3, 4,
   13,
    OPC_EmitIntegerI64, 16,
    OPC_EmitIntegerI64, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMXri),
                    MVT::i64, 4, 0, 1, 2, 3,
   0,
  21,
   OPC_CheckChild0Integer, 83|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTB_XPiI),
                   MVT::i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 85|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTH_XPiI),
                   MVT::i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 91|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTW_XPiI),
                   MVT::i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 84|128,10,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTD_XPiI),
                   MVT::i64, 2, 0, 1,
  26,
   OPC_CheckChild0Integer, 52|128,2,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 77,
   OPC_EmitIntegerI64, 0,
   OPC_CaptureDeactivationSymbol,
              OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PAC),
                   MVT::i64, MVT::i64, 4, 0, 1, 3, 2,
  11,
   OPC_CheckChild0Integer, 11|128,4,
   OPC_RecordChild1,
   OPC_EmitCopyToReg0, AArch64::X16,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CHKFEAT),
                   MVT::i64, 0,
  14,
   OPC_CheckChild0Integer, 53|128,2,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 77,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PACGA),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,4,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 122,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::FJCVTZS),
                   MVT::i32, MVT::i32, 1, 0,
  30,
   OPC_CheckChild0Integer, 49|128,17,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVWr),
                    MVT::i32, 2, 0, 1,
   10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVXr),
                    MVT::i64, 2, 0, 1,
   0,
  30,
   OPC_CheckChild0Integer, 37|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVWr),
                    MVT::i32, 2, 0, 1,
   10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVXr),
                    MVT::i64, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 15|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32Brr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 20|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32Hrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 21|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32Wrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 22|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32Xrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 16|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32CBrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 17|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32CHrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 18|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32CWrr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 19|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CRC32CXrr),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 67|128,4,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::GMI),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 113|128,9,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBP),
                   MVT::i64, 2, 0, 1,
  106|128,1,
   OPC_CheckChild0Integer, 95|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 96|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 97|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 98|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 99|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 100|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 101|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                    MVT::v1i64, 1, 0,
   0,
  106|128,1,
   OPC_CheckChild0Integer, 102|128,4,
   OPC_RecordChild1,
   OPC_Scope, 58,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   11,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv4f16),
                    MVT::v4i16, 1, 0,
   11,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv8f16),
                    MVT::v8i16, 1, 0,
   12,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv2f32),
                    MVT::v2i32, 1, 0,
   12,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv4f32),
                    MVT::v4i32, 1, 0,
   12,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv2f64),
                    MVT::v2i64, 1, 0,
   11,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                    MVT::v1i64, 1, 0,
   0,
  37|128,1,
   OPC_CheckChild0Integer, 89|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE64),
                    MVT::i64, 2, 0, 1,
   44, MVT::i32,
    OPC_Scope, 13,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE32),
                     MVT::i32, 2, 0, 1,
    27,
     OPC_CheckChild1Type, MVT::f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FACGE16),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i32, 3, 2, 3, 4,
    0,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv4f16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv8f16),
                    MVT::v8i16, 2, 0, 1,
   15, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv2f32),
                    MVT::v2i32, 2, 0, 1,
   15, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv4f32),
                    MVT::v4i32, 2, 0, 1,
   15, MVT::v2i64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv2f64),
                    MVT::v2i64, 2, 0, 1,
   15, MVT::v1i64,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE64),
                    MVT::v1i64, 2, 0, 1,
   0,
  37|128,1,
   OPC_CheckChild0Integer, 90|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::i64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT64),
                    MVT::i64, 2, 0, 1,
   44, MVT::i32,
    OPC_Scope, 13,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT32),
                     MVT::i32, 2, 0, 1,
    27,
     OPC_CheckChild1Type, MVT::f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FACGT16),
                     MVT::i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i32, 3, 2, 3, 4,
    0,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv4f16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv8f16),
                    MVT::v8i16, 2, 0, 1,
   15, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv2f32),
                    MVT::v2i32, 2, 0, 1,
   15, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv4f32),
                    MVT::v4i32, 2, 0, 1,
   15, MVT::v2i64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv2f64),
                    MVT::v2i64, 2, 0, 1,
   15, MVT::v1i64,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT64),
                    MVT::v1i64, 2, 0, 1,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 76|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 79|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  32,
   OPC_CheckChild0Integer, 124|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv1i32),
                    MVT::i32, 2, 0, 1,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 125|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 127|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  32,
   OPC_CheckChild0Integer, 1|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv1i32),
                    MVT::i32, 2, 0, 1,
   0,
  114,
   OPC_CheckChild0Integer, 63|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv1i64),
                    MVT::i64, 1, 0,
   8, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv1i32),
                    MVT::i32, 1, 0,
   9, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv8i8),
                    MVT::v8i8, 1, 0,
   9, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv16i8),
                    MVT::v16i8, 1, 0,
   9, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv4i32),
                    MVT::v4i32, 1, 0,
   9, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv2i64),
                    MVT::v2i64, 1, 0,
   9, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABSv1i64),
                    MVT::v1i64, 1, 0,
   0,
  114,
   OPC_CheckChild0Integer, 70|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv1i64),
                    MVT::i64, 1, 0,
   8, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv1i32),
                    MVT::i32, 1, 0,
   9, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv8i8),
                    MVT::v8i8, 1, 0,
   9, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv16i8),
                    MVT::v16i8, 1, 0,
   9, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv4i32),
                    MVT::v4i32, 1, 0,
   9, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv2i64),
                    MVT::v2i64, 1, 0,
   9, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEGv1i64),
                    MVT::v1i64, 1, 0,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 100|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADDv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  24|128,1,
   OPC_CheckChild0Integer, 11|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv1i64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv1i32),
                    MVT::i32, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADDv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0Integer, 33|128,4,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1Hrr),
                   MVT::i32, 1, 0,
  10|128,1,
   OPC_CheckChild0Integer, 88|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv1i64),
                    MVT::i64, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  10|128,1,
   OPC_CheckChild0Integer, 8|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv1i64),
                    MVT::i64, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  10|128,1,
   OPC_CheckChild0Integer, 87|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv1i64),
                    MVT::i64, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  10|128,1,
   OPC_CheckChild0Integer, 5|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv1i64),
                    MVT::i64, 2, 0, 1,
   13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv4i32),
                    MVT::v4i32, 2, 0, 1,
   13, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv2i64),
                    MVT::v2i64, 2, 0, 1,
   13, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHLv1i64),
                    MVT::v1i64, 2, 0, 1,
   0,
  70,
   OPC_CheckChild0Integer, 86|128,10,
   OPC_RecordChild1,
   OPC_Scope, 15,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_B),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_H),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_S),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_D),
                    MVT::i64, 2, 0, 1,
   0,
  55,
   OPC_CheckChild0Integer, 76|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XP_B),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XP_H),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XP_S),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XP_D),
                    MVT::i64, 2, 1, 0,
   0,
  55,
   OPC_CheckChild0Integer, 34|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_WP_B),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_WP_H),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_WP_S),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_WP_D),
                    MVT::i32, 2, 1, 0,
   0,
  55,
   OPC_CheckChild0Integer, 35|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_XP_B),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_XP_H),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_XP_S),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_XP_D),
                    MVT::i64, 2, 1, 0,
   0,
  55,
   OPC_CheckChild0Integer, 42|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XP_B),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XP_H),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XP_S),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XP_D),
                    MVT::i64, 2, 1, 0,
   0,
  55,
   OPC_CheckChild0Integer, 20|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_WP_B),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_WP_H),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_WP_S),
                    MVT::i32, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_WP_D),
                    MVT::i32, 2, 1, 0,
   0,
  55,
   OPC_CheckChild0Integer, 21|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_XP_B),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_XP_H),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_XP_S),
                    MVT::i64, 2, 1, 0,
   11,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_XP_D),
                    MVT::i64, 2, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 48|128,13,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_C_B),
                   125|128,1, 0,
  11,
   OPC_CheckChild0Integer, 45|128,13,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_C_H),
                   125|128,1, 0,
  11,
   OPC_CheckChild0Integer, 46|128,13,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_C_S),
                   125|128,1, 0,
  11,
   OPC_CheckChild0Integer, 47|128,13,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_C_D),
                   125|128,1, 0,
  70,
   OPC_CheckChild0Integer, 51|128,11,
   OPC_RecordChild1,
   OPC_Scope, 15,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FIRSTP_XPP_B),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FIRSTP_XPP_H),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FIRSTP_XPP_S),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FIRSTP_XPP_D),
                    MVT::i64, 2, 0, 1,
   0,
  70,
   OPC_CheckChild0Integer, 65|128,12,
   OPC_RecordChild1,
   OPC_Scope, 15,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTP_XPP_B),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTP_XPP_H),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTP_XPP_S),
                    MVT::i64, 2, 0, 1,
   15,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTP_XPP_D),
                    MVT::i64, 2, 0, 1,
   0,
  27|128,1,
   OPC_CheckChild0Integer, 47|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   32, MVT::i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i64p),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 4, 5,
   0,
  27|128,1,
   OPC_CheckChild0Integer, 112|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   32, MVT::i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i64p),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 4, 5,
   0,
  121,
   OPC_CheckChild0Integer, 57|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  121,
   OPC_CheckChild0Integer, 60|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMINPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  121,
   OPC_CheckChild0Integer, 118|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  121,
   OPC_CheckChild0Integer, 121|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv8i16v),
                     MVT::i16, 1, 0,
    0,
   69, MVT::i32,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i32v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    33,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  23|128,1,
   OPC_CheckChild0Integer, 75|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCP_XPWd_B),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCP_XPWd_H),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCP_XPWd_S),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQINCP_XPWd_D),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   0,
  23|128,1,
   OPC_CheckChild0Integer, 41|128,14,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECP_XPWd_B),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECP_XPWd_H),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECP_XPWd_S),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   35,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SQDECP_XPWd_D),
                    MVT::i64, 2, 1, 4,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 5, 6,
   0,
  0|128,11,
   OPC_CheckChild0Integer, 123|128,4,
   OPC_Scope, 44|128,2,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 94,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i16_indexed),
                      MVT::f16, 3, 4, 1, 5,
     44,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i16_indexed),
                      MVT::f16, 3, 4, 0, 5,
     0,
    97,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i32_indexed),
                      MVT::f32, 3, 4, 1, 5,
     45,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i32_indexed),
                      MVT::f32, 3, 4, 0, 5,
     0,
    99,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i64_indexed),
                      MVT::f64, 3, 4, 1, 5,
     46,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i64_indexed),
                      MVT::f64, 3, 4, 0, 5,
     0,
    0,
   113,
    OPC_RecordChild1,
    OPC_Scope, 35,
     OPC_CheckChild1Type, MVT::f16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 48,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX16),
                     MVT::f16, 2, 0, 3,
    36,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX32),
                     MVT::f32, 2, 0, 3,
    36,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX64),
                     MVT::f64, 2, 0, 3,
    0,
   102,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 29, MVT::f16,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f16,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 48,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX16),
                     MVT::f16, 2, 1, 3,
    30, MVT::f32,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX32),
                     MVT::f32, 2, 1, 3,
    30, MVT::f64,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f64,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX64),
                     MVT::f64, 2, 1, 3,
    0,
   105,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::f16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i16_indexed),
                     MVT::f16, 3, 0, 1, 3,
    33,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i32_indexed),
                     MVT::f32, 3, 0, 1, 3,
    34,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i64_indexed),
                     MVT::f64, 3, 0, 1, 3,
    0,
   97,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 28,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f16,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i16_indexed),
                     MVT::f16, 3, 2, 0, 3,
    29,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i32_indexed),
                     MVT::f32, 3, 2, 0, 3,
    30,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f64,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv1i64_indexed),
                     MVT::f64, 3, 2, 0, 3,
    0,
   13|128,1,
    OPC_RecordChild1,
    OPC_Scope, 16,
     OPC_CheckChild1Type, MVT::f64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f64,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX64),
                     MVT::f64, 2, 0, 1,
    16,
     OPC_CheckChild1Type, MVT::f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f32,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate, 28,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX32),
                     MVT::f32, 2, 0, 1,
    16,
     OPC_CheckChild1Type, MVT::f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::f16,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX16),
                     MVT::f16, 2, 0, 1,
    40,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i16_indexed),
                     MVT::v4f16, 3, 0, 1, 3,
    45,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 2|128,1,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i32_indexed),
                     2|128,1, 3, 0, 1, 3,
    0,
   84,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 33, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f16,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i16_indexed),
                     MVT::v4f16, 3, 2, 0, 3,
    38, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 2|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 2|128,1,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i32_indexed),
                     2|128,1, 3, 2, 0, 3,
    0,
   56|128,1,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i16_indexed),
                     MVT::v4f16, 3, 0, 1, 3,
    32,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv8i16_indexed),
                     MVT::v8f16, 3, 0, 1, 3,
    37,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i32_indexed),
                     2|128,1, 3, 0, 1, 3,
    37,
     OPC_CheckChild1Type, 4|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i32_indexed),
                     4|128,1, 3, 0, 1, 3,
    38,
     OPC_CheckChild1Type, 22|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i64_indexed),
                     22|128,1, 3, 0, 1, 3,
    0,
   26|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 49, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4f16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4f16,
      OPC_CheckType, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i16_indexed),
                      MVT::v4f16, 3, 2, 0, 3,
     16, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv8i16_indexed),
                      MVT::v8f16, 3, 2, 0, 3,
     0,
    58, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 19, 2|128,1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 2|128,1,
      OPC_CheckType, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i32_indexed),
                      2|128,1, 3, 2, 0, 3,
     19, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4i32_indexed),
                      4|128,1, 3, 2, 0, 3,
     0,
    35, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 22|128,1,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2i64_indexed),
                     22|128,1, 3, 2, 0, 3,
    0,
   109,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v4f16,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4f16),
                     MVT::v4f16, 2, 0, 1,
    13, MVT::v8f16,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv8f16),
                     MVT::v8f16, 2, 0, 1,
    16, 2|128,1,
     OPC_CheckChild1Type, 2|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2f32),
                     2|128,1, 2, 0, 1,
    16, 4|128,1,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv4f32),
                     4|128,1, 2, 0, 1,
    16, 22|128,1,
     OPC_CheckChild1Type, 22|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULXv2f64),
                     22|128,1, 2, 0, 1,
    16, 21|128,1,
     OPC_CheckChild1Type, 21|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 21|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX64),
                     21|128,1, 2, 0, 1,
    0,
   0,
  9|128,2,
   OPC_CheckChild0Integer, 23|128,6,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFh),
                    MVT::f16, 2, 3, 1,
   96|128,1,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_Scope, 12,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFs),
                      MVT::f32, 2, 0, 1,
     21,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFh),
                      MVT::f16, 2, 3, 1,
     0,
    43,
     OPC_CheckChild1TypeI64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_Scope, 12,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFd),
                      MVT::f64, 2, 0, 1,
     21,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFh),
                      MVT::f16, 2, 3, 1,
     0,
    21,
     OPC_CheckChild1Type, MVT::v1i64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 21|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFd),
                     21|128,1, 2, 0, 1,
    20,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv4i16_shift),
                     MVT::v4f16, 2, 0, 1,
    20,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv8i16_shift),
                     MVT::v8f16, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv2i32_shift),
                     2|128,1, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv4i32_shift),
                     4|128,1, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv2i64_shift),
                     22|128,1, 2, 0, 1,
    0,
   0,
  12|128,2,
   OPC_CheckChild0Integer, 22|128,6,
   OPC_Scope, 36,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFh),
                    MVT::f16, 2, 3, 1,
   96|128,1,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild1TypeI64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_Scope, 12,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFd),
                      MVT::f64, 2, 0, 1,
     21,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFh),
                      MVT::f16, 2, 3, 1,
     0,
    43,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_Scope, 12,
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFs),
                      MVT::f32, 2, 0, 1,
     21,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFh),
                      MVT::f16, 2, 3, 1,
     0,
    21,
     OPC_CheckChild1Type, MVT::v1i64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 21|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFd),
                     21|128,1, 2, 0, 1,
    20,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4i16_shift),
                     MVT::v4f16, 2, 0, 1,
    20,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv8i16_shift),
                     MVT::v8f16, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2i32_shift),
                     2|128,1, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4i32_shift),
                     4|128,1, 2, 0, 1,
    22,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2i64_shift),
                     22|128,1, 2, 0, 1,
    0,
   0,
  30,
   OPC_CheckChild0Integer, 60|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32ZSr),
                    MVT::f32, 1, 0,
   10, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32ZDr),
                    MVT::f64, 1, 0,
   0,
  30,
   OPC_CheckChild0Integer, 62|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64ZSr),
                    MVT::f32, 1, 0,
   10, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64ZDr),
                    MVT::f64, 1, 0,
   0,
  30,
   OPC_CheckChild0Integer, 59|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32XSr),
                    MVT::f32, 1, 0,
   10, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32XDr),
                    MVT::f64, 1, 0,
   0,
  30,
   OPC_CheckChild0Integer, 61|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64XSr),
                    MVT::f32, 1, 0,
   10, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64XDr),
                    MVT::f64, 1, 0,
   0,
  70,
   OPC_CheckChild0Integer, 43|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD64),
                    MVT::f64, 2, 0, 1,
   13, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD32),
                    MVT::f32, 2, 0, 1,
   13, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD16),
                    MVT::f16, 2, 0, 1,
   16, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD64),
                    21|128,1, 2, 0, 1,
   0,
  32|128,1,
   OPC_CheckChild0Integer, 18|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f64,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS64),
                    MVT::f64, 2, 0, 1,
   14, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f32,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS32),
                    MVT::f32, 2, 0, 1,
   14, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f16,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS16),
                    MVT::f16, 2, 0, 1,
   13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv2f64),
                    22|128,1, 2, 0, 1,
   16, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS64),
                    21|128,1, 2, 0, 1,
   0,
  32|128,1,
   OPC_CheckChild0Integer, 25|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f64,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS64),
                    MVT::f64, 2, 0, 1,
   14, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f32,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS32),
                    MVT::f32, 2, 0, 1,
   14, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::f16,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS16),
                    MVT::f16, 2, 0, 1,
   13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv2f64),
                    22|128,1, 2, 0, 1,
   16, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS64),
                    21|128,1, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0Integer, 44|128,6,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv1i64),
                   MVT::f32, 1, 0,
  15,
   OPC_CheckChild0Integer, 48|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv1i32),
                   MVT::f32, 1, 0,
  15,
   OPC_CheckChild0Integer, 49|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv1i32),
                   MVT::f32, 1, 0,
  15,
   OPC_CheckChild0Integer, 50|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv1i32),
                   MVT::f32, 1, 0,
  113,
   OPC_CheckChild0Integer, 17|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1f16),
                    MVT::f16, 1, 0,
   8, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i32),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i64),
                    MVT::f64, 1, 0,
   9, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv4f16),
                    MVT::v4f16, 1, 0,
   9, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv8f16),
                    MVT::v8f16, 1, 0,
   11, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv2f32),
                    2|128,1, 1, 0,
   11, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv4f32),
                    4|128,1, 1, 0,
   11, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv2f64),
                    22|128,1, 1, 0,
   10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i64),
                    21|128,1, 1, 0,
   0,
  36,
   OPC_CheckChild0Integer, 19|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPXv1f16),
                    MVT::f16, 1, 0,
   8, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPXv1i32),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPXv1i64),
                    MVT::f64, 1, 0,
   0,
  113,
   OPC_CheckChild0Integer, 24|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1f16),
                    MVT::f16, 1, 0,
   8, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i32),
                    MVT::f32, 1, 0,
   8, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i64),
                    MVT::f64, 1, 0,
   9, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv4f16),
                    MVT::v4f16, 1, 0,
   9, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv8f16),
                    MVT::v8f16, 1, 0,
   11, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv2f32),
                    2|128,1, 1, 0,
   11, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv4f32),
                    4|128,1, 1, 0,
   11, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv2f64),
                    22|128,1, 1, 0,
   10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i64),
                    21|128,1, 1, 0,
   0,
  57,
   OPC_CheckChild0Integer, 92|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 38, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 0,
    25,
     OPC_CheckChild1Type, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv4f32),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 3,
    0,
   9, MVT::f64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i64p),
                    MVT::f64, 1, 0,
   0,
  66,
   OPC_CheckChild0Integer, 109|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2i32p),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv4i32v),
                     MVT::f32, 1, 0,
    0,
   9, MVT::f64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2i64p),
                    MVT::f64, 1, 0,
   22, MVT::f16,
    OPC_Scope, 9,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv4i16v),
                     MVT::f16, 1, 0,
    9,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv8i16v),
                     MVT::f16, 1, 0,
    0,
   0,
  66,
   OPC_CheckChild0Integer, 111|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2i32p),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv4i32v),
                     MVT::f32, 1, 0,
    0,
   9, MVT::f64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2i64p),
                    MVT::f64, 1, 0,
   22, MVT::f16,
    OPC_Scope, 9,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv4i16v),
                     MVT::f16, 1, 0,
    9,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv8i16v),
                     MVT::f16, 1, 0,
    0,
   0,
  66,
   OPC_CheckChild0Integer, 115|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2i32p),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv4i32v),
                     MVT::f32, 1, 0,
    0,
   9, MVT::f64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2i64p),
                    MVT::f64, 1, 0,
   22, MVT::f16,
    OPC_Scope, 9,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv4i16v),
                     MVT::f16, 1, 0,
    9,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv8i16v),
                     MVT::f16, 1, 0,
    0,
   0,
  66,
   OPC_CheckChild0Integer, 117|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::f32,
    OPC_Scope, 9,
     OPC_CheckChild1Type, 2|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2i32p),
                     MVT::f32, 1, 0,
    10,
     OPC_CheckChild1Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv4i32v),
                     MVT::f32, 1, 0,
    0,
   9, MVT::f64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2i64p),
                    MVT::f64, 1, 0,
   22, MVT::f16,
    OPC_Scope, 9,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv4i16v),
                     MVT::f16, 1, 0,
    9,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv8i16v),
                     MVT::f16, 1, 0,
    0,
   0,
  10|128,2,
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 0|128,1,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 60,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_Scope, 18,
      OPC_CheckChild1Integer, 4,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv8i16_indexed),
                      MVT::v4i32, 3, 3, 1, 4,
     16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv4i16_indexed),
                      MVT::v4i32, 3, 0, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv4i16_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    0,
   0|128,1,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 60,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_Scope, 18,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv4i32_indexed),
                      MVT::v2i64, 3, 3, 1, 4,
     16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv2i32_indexed),
                      MVT::v2i64, 3, 0, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    30,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv2i32_indexed),
                     MVT::v2i64, 3, 0, 1, 3,
    13,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  93|128,1,
   OPC_CheckChild0Integer, 82|128,4,
   OPC_Scope, 106,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 30, MVT::v2i32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv4i32),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 1, 2,
    30, MVT::v4i16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 2,
    30, MVT::v8i8,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 1, 2,
    0,
   108,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i8),
                     MVT::v8i8, 2, 0, 1,
    13, MVT::v16i8,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv16i8),
                     MVT::v16i8, 2, 0, 1,
    13, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i16),
                     MVT::v4i16, 2, 0, 1,
    13, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i16),
                     MVT::v8i16, 2, 0, 1,
    13, MVT::v2i32,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i32),
                     MVT::v2i32, 2, 0, 1,
    13, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i32),
                     MVT::v4i32, 2, 0, 1,
    13, MVT::v2i64,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  30|128,4,
   OPC_CheckChild0Integer, 18|128,10,
   OPC_RecordChild1,
   OPC_Scope, 4|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/75, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/75, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmI_B),
                     42|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/76, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/76, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmI_H),
                     48|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/77, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/77, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmI_S),
                     53|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/78, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmI_D),
                     58|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  30|128,4,
   OPC_CheckChild0Integer, 108|128,12,
   OPC_RecordChild1,
   OPC_Scope, 4|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/75, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/75, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmI_B),
                     42|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/76, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/76, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmI_H),
                     48|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/77, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/77, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmI_S),
                     53|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/78, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmI_D),
                     58|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  30|128,4,
   OPC_CheckChild0Integer, 105|128,12,
   OPC_RecordChild1,
   OPC_Scope, 4|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/79, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/79, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmI_B),
                     42|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/80, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/80, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmI_H),
                     48|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/81, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/81, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmI_S),
                     53|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   4|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 40,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_CheckComplexPat, /*CP*/82, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 4,
    30,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmI_D),
                     58|128,1, 3, 0, 1, 3,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  22|128,2,
   OPC_CheckChild0Integer, 126|128,14,
   OPC_RecordChild1,
   OPC_Scope, 67,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPmI_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPmI_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPmI_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHR_ZPmI_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  22|128,2,
   OPC_CheckChild0Integer, 65|128,16,
   OPC_RecordChild1,
   OPC_Scope, 67,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  22|128,2,
   OPC_CheckChild0Integer, 105|128,14,
   OPC_RecordChild1,
   OPC_Scope, 67,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 59,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPZI_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 59,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPmI_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 60,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPZI_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 60,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPmI_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPZI_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPmI_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   67,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 35,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 65,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 57,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPZI_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 65,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLU_ZPmI_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  22|128,1,
   OPC_CheckChild0Integer, 40|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 35,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/57, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_B),
                     35|128,1, 4, 0, 1, 3, 4,
    12,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_B),
                     35|128,1, 4, 0, 1, 2, 3,
    0,
   34,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 35,
    OPC_Scope, 12,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_H),
                     35|128,1, 4, 0, 1, 3, 4,
    12,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_H),
                     35|128,1, 4, 0, 1, 2, 3,
    0,
   35,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 35,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/47, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_S),
                     35|128,1, 4, 0, 1, 3, 4,
    12,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_S),
                     35|128,1, 4, 0, 1, 2, 3,
    0,
   35,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 35,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/48, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_D),
                     35|128,1, 4, 0, 1, 3, 4,
    12,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PSEL_PPPRI_D),
                     35|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 118|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_B_UNDEF),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_H_UNDEF),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_S_UNDEF),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPZZZ_D_UNDEF),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  122,
   OPC_CheckChild0Integer, 121|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_B_UNDEF),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_H_UNDEF),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_S_UNDEF),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_D_UNDEF),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  26|128,3,
   OPC_CheckChild0Integer, 123|128,12,
   OPC_RecordChild1,
   OPC_Scope, 100,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 29,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                     42|128,1, 3, 1, 0, 1,
    41,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                     42|128,1, 3, 4, 0, 1,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   100,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 29,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                     48|128,1, 3, 1, 0, 1,
    41,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                     48|128,1, 3, 4, 0, 1,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   100,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 29,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                     53|128,1, 3, 1, 0, 1,
    41,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                     53|128,1, 3, 4, 0, 1,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   100,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 29,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                     58|128,1, 3, 1, 0, 1,
    41,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 127,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                     42|128,1, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                     58|128,1, 3, 4, 0, 1,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  98|128,1,
   OPC_CheckChild0Integer, 103|128,14,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/79, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmI_B),
                     42|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/80, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmI_H),
                     48|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/81, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmI_S),
                     53|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmI_D),
                     58|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  98|128,1,
   OPC_CheckChild0Integer, 47|128,16,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/79, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmI_B),
                     42|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/80, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmI_H),
                     48|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/81, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmI_S),
                     53|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmI_D),
                     58|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  98|128,1,
   OPC_CheckChild0Integer, 104|128,14,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/79, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZI_B_UNDEF),
                     42|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZZ_B_UNDEF),
                     42|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/80, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZI_H_UNDEF),
                     48|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZZ_H_UNDEF),
                     48|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/81, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZI_S_UNDEF),
                     53|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZZ_S_UNDEF),
                     53|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZI_D_UNDEF),
                     58|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHL_ZPZZ_D_UNDEF),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  98|128,1,
   OPC_CheckChild0Integer, 48|128,16,
   OPC_RecordChild1,
   OPC_Scope, 54,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/79, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZI_B_UNDEF),
                     42|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZZ_B_UNDEF),
                     42|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/80, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZI_H_UNDEF),
                     48|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZZ_H_UNDEF),
                     48|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/81, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZI_S_UNDEF),
                     53|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZZ_S_UNDEF),
                     53|128,1, 3, 0, 1, 2,
    0,
   54,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_Scope, 26,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZI_D_UNDEF),
                     58|128,1, 3, 0, 1, 3,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHL_ZPZZ_D_UNDEF),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  14|128,1,
   OPC_CheckChild0Integer, 18|128,6,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                    MVT::v16i8, 4, 0, 4, 2, 5,
   32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                    MVT::v8i16, 4, 0, 4, 2, 5,
   32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                    MVT::v4i32, 4, 0, 4, 2, 5,
   34,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                    MVT::v2i64, 4, 0, 4, 2, 5,
   0,
  35,
   OPC_CheckChild0Integer, 71|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCH_ZPiI),
                   48|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 30|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCH_ZPiI),
                   48|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 37|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECH_ZPiI),
                   48|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 16|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECH_ZPiI),
                   48|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 77|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCW_ZPiI),
                   53|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 36|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCW_ZPiI),
                   53|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 43|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECW_ZPiI),
                   53|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 22|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECW_ZPiI),
                   53|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 68|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCD_ZPiI),
                   58|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 27|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCD_ZPiI),
                   58|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 34|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECD_ZPiI),
                   58|128,1, 3, 0, 1, 2,
  35,
   OPC_CheckChild0Integer, 13|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 9,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECD_ZPiI),
                   58|128,1, 3, 0, 1, 2,
  95,
   OPC_CheckChild0Integer, 56|128,10,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CDOT_ZZZI_S),
                    53|128,1, 5, 0, 1, 2, 3, 5,
   44,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CDOT_ZZZI_D),
                    58|128,1, 5, 0, 1, 2, 3, 5,
   0,
  95,
   OPC_CheckChild0Integer, 63|128,10,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZI_H),
                    48|128,1, 5, 0, 1, 2, 3, 5,
   44,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZI_S),
                    53|128,1, 5, 0, 1, 2, 3, 5,
   0,
  95,
   OPC_CheckChild0Integer, 81|128,14,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZI_H),
                    48|128,1, 5, 0, 1, 2, 3, 5,
   44,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZI_S),
                    53|128,1, 5, 0, 1, 2, 3, 5,
   0,
  41,
   OPC_CheckChild0Integer, 26|128,4,
   OPC_Scope, 25,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 24|128,4,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 111,
    OPC_EmitNode1None, TARGET_VAL(AArch64::AESErr),
                    MVT::v16i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESMCrrTied),
                    MVT::v16i8, 1, 2,
   9,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 90,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESMCrr),
                    MVT::v16i8, 1, 0,
   0,
  41,
   OPC_CheckChild0Integer, 25|128,4,
   OPC_Scope, 25,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 23|128,4,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 111,
    OPC_EmitNode1None, TARGET_VAL(AArch64::AESDrr),
                    MVT::v16i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESIMCrrTied),
                    MVT::v16i8, 1, 2,
   9,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 90,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESIMCrr),
                    MVT::v16i8, 1, 0,
   0,
  126|128,1,
   OPC_CheckChild0Integer, 117|128,9,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  126|128,1,
   OPC_CheckChild0Integer, 37|128,15,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  122|128,1,
   OPC_CheckChild0Integer, 41|128,15,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  126|128,1,
   OPC_CheckChild0Integer, 6|128,13,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  126|128,1,
   OPC_CheckChild0Integer, 99|128,10,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  126|128,1,
   OPC_CheckChild0Integer, 13|128,10,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  122|128,1,
   OPC_CheckChild0Integer, 41|128,10,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 35|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPZZ_B_ZERO),
                     42|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 42|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPZZ_H_ZERO),
                     48|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPZZ_S_ZERO),
                     53|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPZZ_D_ZERO),
                     58|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 33|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_DtoS),
                    53|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_DtoS),
                     53|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoS),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 35|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_StoD),
                    58|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_StoD),
                     58|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoD),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 32|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoS),
                    53|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoS),
                     53|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoS),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 34|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoD),
                    58|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoD),
                     58|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoD),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 40|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_DtoS),
                    53|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_DtoS),
                     53|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoS),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 42|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_StoD),
                    58|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_StoD),
                     58|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoD),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 39|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoS),
                    53|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoS),
                     53|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoS),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 41|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoD),
                    58|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoD),
                     58|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoD),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  2|128,2,
   OPC_CheckChild0Integer, 52|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 81, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_Scope, 21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_H),
                     48|128,1, 2, 1, 3,
    52,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat2, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_H),
                      48|128,1, 2, 1, 2,
     19,
      OPC_CheckPatternPredicate, 57,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPZZ_H_ZERO),
                      48|128,1, 3, 3, 1, 2,
     10,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPmZ_H),
                      48|128,1, 3, 0, 1, 2,
     0,
    0,
   81, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_Scope, 21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_S),
                     53|128,1, 2, 1, 3,
    52,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat2, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_S),
                      53|128,1, 2, 1, 2,
     19,
      OPC_CheckPatternPredicate, 57,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPZZ_S_ZERO),
                      53|128,1, 3, 3, 1, 2,
     10,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPmZ_S),
                      53|128,1, 3, 0, 1, 2,
     0,
    0,
   81, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_Scope, 21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_D),
                     58|128,1, 2, 1, 3,
    52,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat2, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPzZ_D),
                      58|128,1, 2, 1, 2,
     19,
      OPC_CheckPatternPredicate, 57,
      OPC_CheckComplexPat1, /*#*/0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPZZ_D_ZERO),
                      58|128,1, 3, 3, 1, 2,
     10,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FLOGB_ZPmZ_D),
                      58|128,1, 3, 0, 1, 2,
     0,
    0,
   0,
  12|128,1,
   OPC_CheckChild0Integer, 57|128,16,
   OPC_Scope, 72,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 53|128,1,
    OPC_Scope, 21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPE_ZPzZ_S),
                     53|128,1, 2, 1, 3,
    39,
     OPC_CheckChild2Type, 33|128,1,
     OPC_Scope, 15,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat2, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPE_ZPzZ_S),
                      53|128,1, 2, 1, 2,
     17,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPE_ZPmZ_S_UNDEF),
                      53|128,1, 3, 0, 1, 3,
     0,
    0,
   35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPE_ZPmZ_S_UNDEF),
                    53|128,1, 3, 2, 0, 1,
   25,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPE_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  12|128,1,
   OPC_CheckChild0Integer, 66|128,16,
   OPC_Scope, 72,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 53|128,1,
    OPC_Scope, 21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTE_ZPzZ_S),
                     53|128,1, 2, 1, 3,
    39,
     OPC_CheckChild2Type, 33|128,1,
     OPC_Scope, 15,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat2, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTE_ZPzZ_S),
                      53|128,1, 2, 1, 2,
     17,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTE_ZPmZ_S_UNDEF),
                      53|128,1, 3, 0, 1, 3,
     0,
    0,
   35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTE_ZPmZ_S_UNDEF),
                    53|128,1, 3, 2, 0, 1,
   25,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTE_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  14|128,4,
   OPC_CheckChild0Integer, 20|128,14,
   OPC_Scope, 31|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 68, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 42|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_B),
                      42|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 35|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_B),
                       42|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_B_UNDEF),
                       42|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 48|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_H),
                      48|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 34|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_H),
                       48|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_H_UNDEF),
                       48|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_S),
                      53|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 33|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_S),
                       53|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_S_UNDEF),
                       53|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 58|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_D),
                      58|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 32|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPzZ_D),
                       58|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_D_UNDEF),
                       58|128,1, 3, 0, 1, 3,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_SwitchType , 28, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    28, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    28, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    28, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   99,
    OPC_RecordChild1,
    OPC_SwitchType , 21, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    21, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    21, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    21, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQABS_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  14|128,4,
   OPC_CheckChild0Integer, 80|128,14,
   OPC_Scope, 31|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 68, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 42|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_B),
                      42|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 35|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_B),
                       42|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_B_UNDEF),
                       42|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 48|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_H),
                      48|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 34|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_H),
                       48|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_H_UNDEF),
                       48|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_S),
                      53|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 33|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_S),
                       53|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_S_UNDEF),
                       53|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 58|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_D),
                      58|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 32|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPzZ_D),
                       58|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_D_UNDEF),
                       58|128,1, 3, 0, 1, 3,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_SwitchType , 28, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    28, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    28, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    28, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   99,
    OPC_RecordChild1,
    OPC_SwitchType , 21, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    21, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    21, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    21, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQNEG_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  14|128,4,
   OPC_CheckChild0Integer, 61|128,10,
   OPC_Scope, 31|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 68, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 42|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_B),
                      42|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 35|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_B),
                       42|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_B_UNDEF),
                       42|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 48|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_H),
                      48|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 34|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_H),
                       48|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_H_UNDEF),
                       48|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_S),
                      53|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 33|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_S),
                       53|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_S_UNDEF),
                       53|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 58|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_D),
                      58|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 32|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPzZ_D),
                       58|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_D_UNDEF),
                       58|128,1, 3, 0, 1, 3,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_SwitchType , 28, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    28, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    28, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    28, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   99,
    OPC_RecordChild1,
    OPC_SwitchType , 21, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    21, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    21, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    21, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLS_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  14|128,4,
   OPC_CheckChild0Integer, 81|128,10,
   OPC_Scope, 31|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 68, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 42|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_B),
                      42|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 35|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_B),
                       42|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_B_UNDEF),
                       42|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 48|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_H),
                      48|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 34|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_H),
                       48|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_H_UNDEF),
                       48|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_S),
                      53|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 33|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_S),
                       53|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_S_UNDEF),
                       53|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 58|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_D),
                      58|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 32|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPzZ_D),
                       58|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_D_UNDEF),
                       58|128,1, 3, 0, 1, 3,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_SwitchType , 28, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    28, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    28, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    28, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   99,
    OPC_RecordChild1,
    OPC_SwitchType , 21, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    21, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    21, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    21, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  14|128,4,
   OPC_CheckChild0Integer, 3|128,13,
   OPC_Scope, 31|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 68, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 42|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_B),
                      42|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 35|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_B),
                       42|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_B_UNDEF),
                       42|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 48|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_H),
                      48|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 34|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_H),
                       48|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_H_UNDEF),
                       48|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 53|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_S),
                      53|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 33|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_S),
                       53|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_S_UNDEF),
                       53|128,1, 3, 0, 1, 3,
      0,
     0,
    68, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_Scope, 21,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 58|128,1,
      OPC_CheckPatternPredicate5,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_D),
                      58|128,1, 2, 1, 3,
     39,
      OPC_CheckChild2Type, 32|128,1,
      OPC_Scope, 15,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate5,
       OPC_CheckComplexPat2, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPzZ_D),
                       58|128,1, 2, 1, 2,
      17,
       OPC_RecordChild2,
       OPC_RecordChild3,
       OPC_CheckChild3Type, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_D_UNDEF),
                       58|128,1, 3, 0, 1, 3,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_SwitchType , 28, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    28, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    28, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    28, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   99,
    OPC_RecordChild1,
    OPC_SwitchType , 21, 42|128,1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 35|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    21, 48|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 34|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    21, 53|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 33|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    21, 58|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 32|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOT_ZPmZ_D),
                     58|128,1, 3, 0, 1, 2,
    0,
   0,
  10|128,1,
   OPC_CheckChild0Integer, 42|128,5,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 8,
     OPC_CheckType, MVT::v8i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::v8i16, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v8i8),
                     MVT::v8i8, 2, 0, 2,
    18,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    0,
   43,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 16,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::v4i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v4i16),
                     MVT::v4i16, 2, 0, 2,
    18,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    0,
   43,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 32,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::v2i64, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v2i32),
                     MVT::v2i32, 2, 0, 2,
    18,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   0,
  23,
   OPC_CheckChild0Integer, 55|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 86,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XAR),
                   MVT::v2i64, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 49|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3TT1A),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  24,
   OPC_CheckChild0Integer, 50|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3TT1B),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  24,
   OPC_CheckChild0Integer, 51|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3TT2A),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  24,
   OPC_CheckChild0Integer, 52|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3TT2B),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  114,
   OPC_CheckChild0Integer, 67|128,5,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16_indexed),
                    MVT::v4i16, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv8i16_indexed),
                    MVT::v8i16, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32_indexed),
                    MVT::v2i32, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i32_indexed),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  114,
   OPC_CheckChild0Integer, 75|128,5,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i16_indexed),
                    MVT::v4i16, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv8i16_indexed),
                    MVT::v8i16, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv2i32_indexed),
                    MVT::v2i32, 3, 0, 1, 3,
   26,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i32_indexed),
                    MVT::v4i32, 3, 0, 1, 3,
   0,
  73,
   OPC_CheckChild0Integer, 98|128,13,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZI_BtoS),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZI_HtoD),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  73,
   OPC_CheckChild0Integer, 93|128,15,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZI_BtoS),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZI_HtoD),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 69|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 95,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOT_ZZZI),
                   53|128,1, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 42|128,15,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 95,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUDOT_ZZZI),
                   53|128,1, 4, 0, 1, 2, 3,
  106,
   OPC_CheckChild0Integer, 117|128,12,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZZZI_H),
                    48|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  106,
   OPC_CheckChild0Integer, 120|128,12,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZZZI_H),
                    48|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  106,
   OPC_CheckChild0Integer, 84|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZI_H),
                    48|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  106,
   OPC_CheckChild0Integer, 86|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZI_H),
                    48|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  91,
   OPC_CheckChild0Integer, 124|128,12,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  91,
   OPC_CheckChild0Integer, 57|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  91,
   OPC_CheckChild0Integer, 88|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  80,
   OPC_CheckChild0Integer, 55|128,10,
   OPC_RecordChild1,
   OPC_Scope, 36,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CDOT_ZZZ_S),
                    53|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CDOT_ZZZ_D),
                    58|128,1, 4, 0, 1, 2, 4,
   0,
  26|128,1,
   OPC_CheckChild0Integer, 64|128,10,
   OPC_RecordChild1,
   OPC_Scope, 36,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZ_B),
                    42|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZ_H),
                    48|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZ_S),
                    53|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLA_ZZZ_D),
                    58|128,1, 4, 0, 1, 2, 4,
   0,
  26|128,1,
   OPC_CheckChild0Integer, 82|128,14,
   OPC_RecordChild1,
   OPC_Scope, 36,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZ_B),
                    42|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZ_H),
                    48|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZ_S),
                    53|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDCMLAH_ZZZ_D),
                    58|128,1, 4, 0, 1, 2, 4,
   0,
  62,
   OPC_CheckChild0Integer, 16|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLB_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLB_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_CheckChild0Integer, 18|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLT_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLT_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_CheckChild0Integer, 2|128,16,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLB_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLB_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_CheckChild0Integer, 4|128,16,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLT_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLT_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_CheckChild0Integer, 63|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLB_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLB_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_CheckChild0Integer, 65|128,14,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLT_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLT_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 5|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 7|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 119|128,15,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 121|128,15,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 9|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 11|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 123|128,15,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 125|128,15,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 47|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 50|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 52|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLB_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLB_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  72,
   OPC_CheckChild0Integer, 55|128,14,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLT_ZZZI_S),
                    53|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLT_ZZZI_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  122,
   OPC_CheckChild0Integer, 2|128,15,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRA_ZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  122,
   OPC_CheckChild0Integer, 74|128,16,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRA_ZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  122,
   OPC_CheckChild0Integer, 127|128,14,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSRA_ZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  122,
   OPC_CheckChild0Integer, 67|128,16,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSRA_ZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  6|128,1,
   OPC_CheckChild0Integer, 54|128,10,
   OPC_RecordChild1,
   OPC_Scope, 31,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CADD_ZZI_B),
                    42|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CADD_ZZI_H),
                    48|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CADD_ZZI_S),
                    53|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CADD_ZZI_D),
                    58|128,1, 3, 0, 1, 3,
   0,
  6|128,1,
   OPC_CheckChild0Integer, 23|128,14,
   OPC_RecordChild1,
   OPC_Scope, 31,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCADD_ZZI_B),
                    42|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCADD_ZZI_H),
                    48|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCADD_ZZI_S),
                    53|128,1, 3, 0, 1, 3,
   31,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNodeXForm, 3, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCADD_ZZI_D),
                    58|128,1, 3, 0, 1, 3,
   0,
  78,
   OPC_CheckChild0Integer, 108|128,14,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 101|128,14,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 106|128,13,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 64|128,13,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 106|128,14,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 95|128,14,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 49|128,16,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 45|128,16,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNB_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNB_ZZI_S),
                    53|128,1, 2, 0, 1,
   0,
  93,
   OPC_CheckChild0Integer, 109|128,14,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 102|128,14,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 107|128,13,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 65|128,13,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 107|128,14,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 96|128,14,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 50|128,16,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  93,
   OPC_CheckChild0Integer, 46|128,16,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNT_ZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNT_ZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNT_ZZI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 0|128,15,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 59,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLB_ZZI_S),
                    53|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLB_ZZI_D),
                    58|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 1|128,15,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 59,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLT_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLT_ZZI_S),
                    53|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLT_ZZI_D),
                    58|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 70|128,16,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 59,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLB_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLB_ZZI_S),
                    53|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLB_ZZI_D),
                    58|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 71|128,16,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 59,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLT_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLT_ZZI_S),
                    53|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLT_ZZI_D),
                    58|128,1, 2, 0, 1,
   0,
  122,
   OPC_CheckChild0Integer, 31|128,17,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XAR_ZZZI_B),
                    42|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XAR_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XAR_ZZZI_S),
                    53|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XAR_ZZZI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  37,
   OPC_CheckChild0Integer, 99|128,13,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 48|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZI_HtoS),
                   53|128,1, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 94|128,15,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 48|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZI_HtoS),
                   53|128,1, 4, 0, 1, 2, 3,
  65,
   OPC_CheckChild0Integer, 10|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_SwitchType , 10, 35|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PEXT_PCI_B),
                    35|128,1, 2, 0, 1,
   10, 34|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PEXT_PCI_H),
                    34|128,1, 2, 0, 1,
   10, 33|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PEXT_PCI_S),
                    33|128,1, 2, 0, 1,
   10, 32|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PEXT_PCI_D),
                    32|128,1, 2, 0, 1,
   0,
  73|128,1,
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_B),
                    42|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_S),
                    53|128,1, 2, 0, 1,
   24,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_D),
                    58|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_H),
                    66|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_S),
                    77|128,1, 2, 0, 1,
   24,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_D),
                    81|128,1, 2, 0, 1,
   23,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPQ_ZZI_H),
                    72|128,1, 2, 0, 1,
   0,
  11|128,2,
   OPC_CheckChild0Integer, 109|128,10,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    42|128,1, 3, 0, 1, 2,
   32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 140,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 4, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    48|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 145,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 5, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    53|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 146,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 6, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    58|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 140,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 4, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    66|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 145,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 5, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    77|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 146,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 6, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    81|128,1, 3, 0, 1, 3,
   32,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 140,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNodeXForm, 4, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTQ_ZZI),
                    72|128,1, 3, 0, 1, 3,
   0,
  106,
   OPC_CheckChild0Integer, 14|128,13,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_B),
                    35|128,1, 2, 0, 1,
   24,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_H),
                    34|128,1, 2, 0, 1,
   24,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_S),
                    33|128,1, 2, 0, 1,
   24,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_D),
                    32|128,1, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 16|128,13,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 154,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_H),
                    48|128,1, 3, 0, 2, 1,
   29,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 155,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_S),
                    53|128,1, 3, 0, 2, 1,
   29,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 156,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_D),
                    58|128,1, 3, 0, 2, 1,
   0,
  114,
   OPC_CheckChild0Integer, 111|128,12,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI2_ZZZI_B),
                    42|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI2_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI2_ZZZI_H),
                    66|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI2_ZZZI_H),
                    72|128,1, 3, 0, 1, 2,
   0,
  114,
   OPC_CheckChild0Integer, 112|128,12,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_ZZZI_B),
                    42|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_ZZZI_H),
                    48|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_ZZZI_H),
                    66|128,1, 3, 0, 1, 2,
   26,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_ZZZI_H),
                    72|128,1, 3, 0, 1, 2,
   0,
  36|128,1,
   OPC_CheckChild0Integer, 66|128,5,
   OPC_RecordChild1,
   OPC_Scope, 38,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16_indexed),
                    MVT::v4i16, 3, 0, 5, 6,
   38,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv8i16_indexed),
                    MVT::v8i16, 3, 0, 5, 6,
   39,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32_indexed),
                    MVT::v2i32, 3, 0, 5, 6,
   39,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i32_indexed),
                    MVT::v4i32, 3, 0, 5, 6,
   0,
  36|128,1,
   OPC_CheckChild0Integer, 74|128,5,
   OPC_RecordChild1,
   OPC_Scope, 38,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i16_indexed),
                    MVT::v4i16, 3, 0, 5, 6,
   38,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v16i8, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv8i16_indexed),
                    MVT::v8i16, 3, 0, 5, 6,
   39,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv2i32_indexed),
                    MVT::v2i32, 3, 0, 5, 6,
   39,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNodeXForm, 2, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv4i32_indexed),
                    MVT::v4i32, 3, 0, 5, 6,
   0,
  50,
   OPC_CheckChild0Integer, 93|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRN_Z2ZI_StoH),
                   48|128,1, 2, 6, 2,
  50,
   OPC_CheckChild0Integer, 43|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRN_Z2ZI_StoH),
                   48|128,1, 2, 6, 2,
  50,
   OPC_CheckChild0Integer, 99|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUN_Z2ZI_StoH),
                   48|128,1, 2, 6, 2,
  25|128,1,
   OPC_CheckChild0Integer, 113|128,12,
   OPC_RecordChild1,
   OPC_Scope, 48,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_Z2ZZI),
                    48|128,1, 3, 7, 2, 3,
   48,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_Z2ZZI),
                    66|128,1, 3, 7, 2, 3,
   48,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 68,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUTI4_Z2ZZI),
                    72|128,1, 3, 7, 2, 3,
   0,
  50,
   OPC_CheckChild0Integer, 91|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHR_VG2_Z2ZI_H),
                   48|128,1, 2, 6, 2,
  4|128,1,
   OPC_CheckChild0Integer, 92|128,14,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHR_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHR_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  50,
   OPC_CheckChild0Integer, 41|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHR_VG2_Z2ZI_H),
                   48|128,1, 2, 6, 2,
  4|128,1,
   OPC_CheckChild0Integer, 42|128,16,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHR_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHR_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  50,
   OPC_CheckChild0Integer, 97|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 0, 4, 1, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRU_VG2_Z2ZI_H),
                   48|128,1, 2, 6, 2,
  4|128,1,
   OPC_CheckChild0Integer, 98|128,14,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRU_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRU_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 94|128,14,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRN_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRN_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 44|128,16,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRN_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRN_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 100|128,14,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUN_VG4_Z4ZI_B),
                    42|128,1, 2, 10, 4,
   62,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUN_VG4_Z4ZI_H),
                    48|128,1, 2, 10, 4,
   0,
  111,
   OPC_CheckChild0Integer, 20|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 32, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZZZ_B),
                     42|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   32, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZZZ_H),
                     48|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   32, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZZZ_S),
                     53|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  111,
   OPC_CheckChild0Integer, 110|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 32, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZZZ_B),
                     42|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   32, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZZZ_H),
                     48|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   32, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZZZ_S),
                     53|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  111,
   OPC_CheckChild0Integer, 107|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 32, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZZZ_B),
                     42|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_B),
                     42|128,1, 3, 0, 1, 2,
    0,
   32, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZZZ_H),
                     48|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_H),
                     48|128,1, 3, 0, 1, 2,
    0,
   32, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZZZ_S),
                     53|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_S),
                     53|128,1, 3, 0, 1, 2,
    0,
   0,
  106,
   OPC_CheckChild0Integer, 114|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  106,
   OPC_CheckChild0Integer, 100|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  106,
   OPC_CheckChild0Integer, 123|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  106,
   OPC_CheckChild0Integer, 109|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPredicate7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  24,
   OPC_CheckChild0Integer, 61|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 69,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 122|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 69,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 10|128,6,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 69,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 44|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA512SU0),
                   MVT::v2i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 42|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA512H),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 43|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA512H2),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 45|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA512SU1),
                   MVT::v2i64, 3, 0, 1, 2,
  86,
   OPC_CheckChild0Integer, 30|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v16i8, 3, 0, 1, 2,
   18, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v8i16, 3, 0, 1, 2,
   18, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v4i32, 3, 0, 1, 2,
   18, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  86,
   OPC_CheckChild0Integer, 28|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v16i8, 3, 0, 1, 2,
   18, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v8i16, 3, 0, 1, 2,
   18, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v4i32, 3, 0, 1, 2,
   18, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  86,
   OPC_CheckChild0Integer, 29|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v16i8, 3, 0, 1, 2,
   18, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v8i16, 3, 0, 1, 2,
   18, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v4i32, 3, 0, 1, 2,
   18, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  86,
   OPC_CheckChild0Integer, 27|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v16i8, 3, 0, 1, 2,
   18, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v8i16, 3, 0, 1, 2,
   18, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v4i32, 3, 0, 1, 2,
   18, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  14,
   OPC_CheckChild0Integer, 31|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1),
                   MVT::v2i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 48|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3SS1),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 46|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3PARTW1),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 47|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM3PARTW2),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 54|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM4ENCKEY),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 53|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 73,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM4E),
                   MVT::v4i32, 2, 0, 1,
  72,
   OPC_CheckChild0Integer, 87|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv8i8),
                    MVT::v8i8, 1, 0,
   9, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv16i8),
                    MVT::v16i8, 1, 0,
   9, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSv4i32),
                    MVT::v4i32, 1, 0,
   0,
  10,
   OPC_CheckChild0Integer, 21|128,6,
   OPC_RecordChild1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv4i16),
                   MVT::v4i16, 1, 0,
  72,
   OPC_CheckChild0Integer, 45|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv8i8_v4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv16i8_v8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv4i16_v2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv8i16_v4i32),
                    MVT::v4i32, 1, 0,
   9, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv2i32_v1i64),
                    MVT::v1i64, 1, 0,
   9, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv4i32_v2i64),
                    MVT::v2i64, 1, 0,
   0,
  72,
   OPC_CheckChild0Integer, 110|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv8i8_v4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv16i8_v8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv4i16_v2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv8i16_v4i32),
                    MVT::v4i32, 1, 0,
   9, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv2i32_v1i64),
                    MVT::v1i64, 1, 0,
   9, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv4i32_v2i64),
                    MVT::v2i64, 1, 0,
   0,
  28,
   OPC_CheckChild0Integer, 3|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPEv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URECPEv4i32),
                    MVT::v4i32, 1, 0,
   0,
  28,
   OPC_CheckChild0Integer, 6|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTEv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSQRTEv4i32),
                    MVT::v4i32, 1, 0,
   0,
  36,
   OPC_CheckChild0Integer, 38|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULv16i8),
                    MVT::v16i8, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 54|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 56|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 59|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 115|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 117|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  96,
   OPC_CheckChild0Integer, 120|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv16i8),
                    MVT::v16i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv8i16),
                    MVT::v8i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv2i32),
                    MVT::v2i32, 2, 0, 1,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  51,
   OPC_CheckChild0Integer, 81|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv8i16_v8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv4i32_v4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv2i64_v2i32),
                    MVT::v2i32, 2, 0, 1,
   0,
  51,
   OPC_CheckChild0Integer, 99|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v2i32),
                    MVT::v2i32, 2, 0, 1,
   0,
  51,
   OPC_CheckChild0Integer, 41|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v2i32),
                    MVT::v2i32, 2, 0, 1,
   0,
  51,
   OPC_CheckChild0Integer, 43|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv8i16_v8i8),
                    MVT::v8i8, 2, 0, 1,
   13, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv4i32_v4i16),
                    MVT::v4i16, 2, 0, 1,
   13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv2i64_v2i32),
                    MVT::v2i32, 2, 0, 1,
   0,
  29,
   OPC_CheckChild0Integer, 101|128,5,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v8i8,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLv8i8One),
                    MVT::v8i8, 2, 0, 1,
   9, MVT::v16i8,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLv16i8One),
                    MVT::v16i8, 2, 0, 1,
   0,
  38,
   OPC_CheckChild0Integer, 105|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXv8i8One),
                    MVT::v8i8, 3, 0, 1, 2,
   14, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXv16i8One),
                    MVT::v16i8, 3, 0, 1, 2,
   0,
  74|128,1,
   OPC_CheckChild0Integer, 26|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 47, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_B),
                     MVT::v16i8, 3, 0, 1, 2,
    29,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_B),
                     MVT::v16i8, 3, 5, 1, 2,
    0,
   47, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8i16, 3, 0, 1, 2,
    29,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8i16, 3, 5, 1, 2,
    0,
   47, MVT::v8f16,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8f16, 3, 0, 1, 2,
    29,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8f16, 3, 5, 1, 2,
    0,
   47, MVT::v8bf16,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::v8bf16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8bf16, 3, 0, 1, 2,
    29,
     OPC_CheckChild1Type, MVT::v4bf16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8bf16, 3, 5, 1, 2,
    0,
   0,
  20,
   OPC_CheckChild0Integer, 29|128,6,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 40,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_B),
                   MVT::v16i8, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 24|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 90,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESErr),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 23|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 90,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESDrr),
                   MVT::v16i8, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 32|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1Crrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 35|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1Prrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 34|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1Mrrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 36|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1SU0rrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 38|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA256Hrrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 39|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA256H2rrr),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 41|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA256SU1rrr),
                   MVT::v4i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 37|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA1SU1rr),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 40|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 71,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHA256SU0rr),
                   MVT::v4i32, 2, 0, 1,
  122,
   OPC_CheckChild0Integer, 114|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_B),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_H),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_S),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  122,
   OPC_CheckChild0Integer, 122|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_B),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_H),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_S),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  122,
   OPC_CheckChild0Integer, 116|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_B),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_H),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_S),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  122,
   OPC_CheckChild0Integer, 119|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_B),
                    42|128,1, 4, 0, 1, 2, 3,
   26, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_H),
                    48|128,1, 4, 0, 1, 2, 3,
   26, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_S),
                    53|128,1, 4, 0, 1, 2, 3,
   26, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_D),
                    58|128,1, 4, 0, 1, 2, 3,
   0,
  102,
   OPC_CheckChild0Integer, 13|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 127|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 94|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIV_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIV_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 89|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIV_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIV_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 96|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 91|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 71|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 69|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  48|128,1,
   OPC_CheckChild0Integer, 92|128,10,
   OPC_RecordChild1,
   OPC_Scope, 38,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 53|128,1,
     OPC_CheckChild2Type, 53|128,1,
     OPC_CheckPatternPredicate, 91,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_S),
                     53|128,1, 2, 0, 1,
    13, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_CheckPatternPredicate, 91,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_S),
                     77|128,1, 2, 0, 1,
    0,
   54,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 58|128,1,
     OPC_CheckChild2Type, 58|128,1,
     OPC_CheckPatternPredicate, 91,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_D),
                     58|128,1, 2, 0, 1,
    13, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_CheckPatternPredicate, 91,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_D),
                     81|128,1, 2, 0, 1,
    13, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_CheckPatternPredicate, 91,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_D),
                     76|128,1, 2, 0, 1,
    0,
   20,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 61,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_B),
                    42|128,1, 2, 0, 1,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 48|128,1,
     OPC_CheckChild2Type, 48|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_H),
                     48|128,1, 2, 0, 1,
    13, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_H),
                     66|128,1, 2, 0, 1,
    13, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::COMPACT_ZPZ_H),
                     72|128,1, 2, 0, 1,
    0,
   0,
  12,
   OPC_CheckChild0Integer, 57|128,13,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_H),
                   35|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 58|128,13,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_S),
                   35|128,1, 1, 0,
  12,
   OPC_CheckChild0Integer, 59|128,13,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_D),
                   35|128,1, 1, 0,
  48,
   OPC_CheckChild0Integer, 50|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 34|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    34|128,1, 1, 0,
   11, 33|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    33|128,1, 1, 0,
   11, 32|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    32|128,1, 1, 0,
   0,
  48,
   OPC_CheckChild0Integer, 49|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 34|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    34|128,1, 1, 0,
   11, 33|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    33|128,1, 1, 0,
   11, 32|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    32|128,1, 1, 0,
   0,
  28,
   OPC_CheckChild0Integer, 49|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKPA_PPzPP),
                   35|128,1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 50|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKPB_PPzPP),
                   35|128,1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 48|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKN_PPzP),
                   35|128,1, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 45|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKA_PPzP),
                   35|128,1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 44|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKA_PPmP),
                   35|128,1, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 47|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   35|128,1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 46|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BRKB_PPmP),
                   35|128,1, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 12|128,13,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 35|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 35|128,1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PFIRST_B),
                   35|128,1, MVT::i32, 2, 0, 1,
  86,
   OPC_CheckChild0Integer, 22|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PNEXT_B),
                    35|128,1, MVT::i32, 2, 0, 1,
   17, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PNEXT_H),
                    34|128,1, MVT::i32, 2, 0, 1,
   17, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PNEXT_S),
                    33|128,1, MVT::i32, 2, 0, 1,
   17, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::PNEXT_D),
                    32|128,1, MVT::i32, 2, 0, 1,
   0,
  126,
   OPC_CheckChild0Integer, 15|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 43|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 101|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 8|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 4|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORN_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORN_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORN_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORN_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORN_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 2|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOR_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOR_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOR_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOR_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOR_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  126,
   OPC_CheckChild0Integer, 126|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NAND_PPzPP),
                    35|128,1, 3, 0, 1, 2,
   21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NAND_PPzPP),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NAND_PPzPP),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NAND_PPzPP),
                    32|128,1, 3, 0, 1, 2,
   21, 31|128,1,
    OPC_CheckChild1Type, 31|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 31|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NAND_PPzPP),
                    31|128,1, 3, 0, 1, 2,
   0,
  64|128,1,
   OPC_CheckChild0Integer, 57|128,10,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_B),
                    42|128,1, 3, 0, 1, 2,
   66,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 48|128,1,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_H),
                     48|128,1, 3, 0, 1, 2,
    17, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_H),
                     66|128,1, 3, 0, 1, 2,
    17, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_H),
                     72|128,1, 3, 0, 1, 2,
    0,
   46,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 53|128,1,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_S),
                     53|128,1, 3, 0, 1, 2,
    17, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   46,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 58|128,1,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_D),
                     58|128,1, 3, 0, 1, 2,
    17, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_ZPZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  64|128,1,
   OPC_CheckChild0Integer, 59|128,10,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_B),
                    42|128,1, 3, 0, 1, 2,
   66,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 48|128,1,
     OPC_CheckChild2Type, 48|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_H),
                     48|128,1, 3, 0, 1, 2,
    17, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_H),
                     66|128,1, 3, 0, 1, 2,
    17, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_H),
                     72|128,1, 3, 0, 1, 2,
    0,
   46,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 53|128,1,
     OPC_CheckChild2Type, 53|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_S),
                     53|128,1, 3, 0, 1, 2,
    17, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   46,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 58|128,1,
     OPC_CheckChild2Type, 58|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_D),
                     58|128,1, 3, 0, 1, 2,
    17, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_ZPZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  44,
   OPC_CheckChild0Integer, 125|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_0),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_0),
                    58|128,1, 2, 0, 1,
   0,
  44,
   OPC_CheckChild0Integer, 127|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_1),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_1),
                    58|128,1, 2, 0, 1,
   0,
  44,
   OPC_CheckChild0Integer, 0|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_2),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_2),
                    58|128,1, 2, 0, 1,
   0,
  44,
   OPC_CheckChild0Integer, 126|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_S_3),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR_LSL_ZZZ_D_3),
                    58|128,1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 35|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 36|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 37|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_D),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 40|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 41|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 42|128,17,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_D),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 89|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 90|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 91|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_D),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 94|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 95|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 96|128,16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_D),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 58|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 59|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_D),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 62|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_H),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 63|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_S),
                   35|128,1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 64|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_D),
                   35|128,1, 2, 0, 1,
  72,
   OPC_CheckChild0Integer, 66|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 80|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 68|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 70|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 78|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 75|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 74|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 72|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 76|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  72,
   OPC_CheckChild0Integer, 77|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 19, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   19, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   19, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_S),
                    33|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 113|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE_PPzZZ_H),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE_PPzZZ_S),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGE_PPzZZ_D),
                    32|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 114|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT_PPzZZ_H),
                    34|128,1, 3, 0, 1, 2,
   21, 33|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT_PPzZZ_S),
                    33|128,1, 3, 0, 1, 2,
   21, 32|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGT_PPzZZ_D),
                    32|128,1, 3, 0, 1, 2,
   0,
  122,
   OPC_CheckChild0Integer, 16|128,17,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 126|128,16,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELE_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 10|128,17,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELS_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  63,
   OPC_CheckChild0Integer, 74|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_ZP_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_ZP_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_ZP_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 33|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_ZP_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_ZP_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQINCP_ZP_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 40|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_ZP_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_ZP_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_ZP_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 19|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_ZP_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_ZP_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQDECP_ZP_D),
                    58|128,1, 2, 0, 1,
   0,
  29,
   OPC_CheckChild0Integer, 12|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 106,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMMLA_ZZZ),
                   53|128,1, 3, 0, 1, 2,
  29,
   OPC_CheckChild0Integer, 126|128,15,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 106,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMMLA_ZZZ),
                   53|128,1, 3, 0, 1, 2,
  29,
   OPC_CheckChild0Integer, 72|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 106,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USMMLA_ZZZ),
                   53|128,1, 3, 0, 1, 2,
  38|128,1,
   OPC_CheckChild0Integer, 38|128,17,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 43|128,17,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 92|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 97|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 60|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 65|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_Q),
                    72|128,1, 2, 0, 1,
   0,
  102,
   OPC_CheckChild0Integer, 83|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAH_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 85|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSH_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  82,
   OPC_CheckChild0Integer, 56|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULH_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  82,
   OPC_CheckChild0Integer, 87|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULH_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  23,
   OPC_CheckChild0Integer, 18|128,13,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMUL_ZZZ_B),
                   42|128,1, 2, 0, 1,
  78,
   OPC_CheckChild0Integer, 4|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 6|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 118|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 120|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 8|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 10|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 122|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 124|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 46|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 49|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 51|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 54|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 48|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALBT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALBT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALBT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 53|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLBT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLBT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLBT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 105|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 96|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 108|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 97|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 118|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 58|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 110|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBR_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBR_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUBR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 99|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBR_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBR_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUBR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 109|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHSUB_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 98|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHSUB_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 75|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADALP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 73|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADALP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 123|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDP_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 120|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXP_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 106|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXP_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 1|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINP_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 115|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINP_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINP_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINP_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINP_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 21|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 5|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 110|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 51|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 47|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUQADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 73|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADD_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADD_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADD_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USQADD_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 113|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBR_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBR_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 54|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBR_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBR_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBR_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBR_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 120|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 59|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 89|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 39|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPmZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPmZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPmZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPmZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 123|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHL_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 62|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHL_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 90|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHL_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 40|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHL_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  63,
   OPC_CheckChild0Integer, 76|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 78|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 74|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 75|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 3|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 5|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 75|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 76|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 73|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 74|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 71|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 72|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 7|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 8|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 77|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 78|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 62|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 64|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 15|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 17|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 1|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 3|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 20|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLB_ZZZ_H),
                    42|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLB_ZZZ_D),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 87,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLB_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 21|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLT_ZZZ_H),
                    42|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLT_ZZZ_D),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 87,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLT_ZZZ_Q),
                    58|128,1, 2, 0, 1,
   0,
  102,
   OPC_CheckChild0Integer, 68|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABA_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 66|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABA_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 69|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 70|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABALT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 67|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 68|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABALT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 115|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADCLB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADCLB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 116|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADCLT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADCLT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 82|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBCLB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBCLB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild0Integer, 83|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBCLT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBCLT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  63,
   OPC_CheckChild0Integer, 121|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 51|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 39|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 66|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 122|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNT_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 52|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNT_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 40|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNT_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 67|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNT_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  48,
   OPC_CheckChild0Integer, 114|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNB_ZZ_B),
                    42|128,1, 1, 0,
   11, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNB_ZZ_H),
                    48|128,1, 1, 0,
   11, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNB_ZZ_S),
                    53|128,1, 1, 0,
   0,
  48,
   OPC_CheckChild0Integer, 55|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNB_ZZ_B),
                    42|128,1, 1, 0,
   11, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNB_ZZ_H),
                    48|128,1, 1, 0,
   11, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNB_ZZ_S),
                    53|128,1, 1, 0,
   0,
  48,
   OPC_CheckChild0Integer, 116|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNB_ZZ_B),
                    42|128,1, 1, 0,
   11, 48|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNB_ZZ_H),
                    48|128,1, 1, 0,
   11, 53|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNB_ZZ_S),
                    53|128,1, 1, 0,
   0,
  63,
   OPC_CheckChild0Integer, 115|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNT_ZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNT_ZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNT_ZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 56|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNT_ZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNT_ZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNT_ZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 117|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNT_ZZ_B),
                    42|128,1, 2, 0, 1,
   16, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNT_ZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNT_ZZ_S),
                    53|128,1, 2, 0, 1,
   0,
  58,
   OPC_CheckChild0Integer, 115|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 23, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::MATCH_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   23, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::MATCH_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  58,
   OPC_CheckChild0Integer, 1|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 23, 35|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::NMATCH_PPzZZ_B),
                    35|128,1, MVT::i32, 3, 0, 1, 2,
   23, 34|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::NMATCH_PPzZZ_H),
                    34|128,1, MVT::i32, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 103|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORBT_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORBT_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORBT_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORBT_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102,
   OPC_CheckChild0Integer, 105|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORTB_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORTB_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORTB_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORTB_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  63,
   OPC_CheckChild0Integer, 77|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLBT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLBT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLBT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 4|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLBT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLBT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLBT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 6|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLTB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   16, 53|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLTB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   16, 58|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLTB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 60|128,12,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate, 36,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::HISTSEG_ZZZ),
                   42|128,1, 2, 0, 1,
  56,
   OPC_CheckChild0Integer, 59|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::HISTCNT_ZPzZZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::HISTCNT_ZPzZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  102|128,5,
   OPC_CheckChild0Integer, 102|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    58|128,1, 3, 0, 1, 2,
   78, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   78, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   78, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   78, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   78, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   78, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   78, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   78, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  102|128,5,
   OPC_CheckChild0Integer, 22|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    58|128,1, 3, 0, 1, 2,
   78, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   78, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   78, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   78, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   78, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   78, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   78, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   78, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  70|128,1,
   OPC_CheckChild0Integer, 54|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   21, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   21, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   21, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   21, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_D),
                    81|128,1, 3, 0, 1, 2,
   21, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBX_ZZZ_H),
                    72|128,1, 3, 0, 1, 2,
   0,
  122,
   OPC_CheckChild0Integer, 102|128,16,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGE_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 108|128,16,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 120|128,16,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHS_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  122,
   OPC_CheckChild0Integer, 114|128,16,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   57,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 10, 35|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_B),
                     35|128,1, MVT::i32, 2, 0, 1,
    10, 34|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_H),
                     34|128,1, MVT::i32, 2, 0, 1,
    10, 33|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_S),
                     33|128,1, MVT::i32, 2, 0, 1,
    10, 32|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_D),
                     32|128,1, MVT::i32, 2, 0, 1,
    0,
   0,
  15,
   OPC_CheckChild0Integer, 6|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESE_ZZZ_B),
                   42|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 1|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESD_ZZZ_B),
                   42|128,1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 12|128,10,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESMC_ZZ_B),
                   42|128,1, 1, 0,
  13,
   OPC_CheckChild0Integer, 11|128,10,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AESIMC_ZZ_B),
                   42|128,1, 1, 0,
  15,
   OPC_CheckChild0Integer, 113|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 112,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM4EKEY_ZZZ_S),
                   53|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 112|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 112,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SM4E_ZZZ_S),
                   53|128,1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 53|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 123,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1_ZZZ_D),
                   58|128,1, 2, 0, 1,
  86,
   OPC_CheckChild0Integer, 24|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BEXT_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BEXT_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BEXT_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BEXT_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  86,
   OPC_CheckChild0Integer, 23|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BDEP_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BDEP_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BDEP_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BDEP_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  86,
   OPC_CheckChild0Integer, 40|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BGRP_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BGRP_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BGRP_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 62,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BGRP_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  106,
   OPC_CheckChild0Integer, 84|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  106,
   OPC_CheckChild0Integer, 79|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  29,
   OPC_CheckChild0Integer, 100|128,13,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 48|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_HtoS),
                   53|128,1, 3, 0, 1, 2,
  29,
   OPC_CheckChild0Integer, 95|128,15,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 48|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_HtoS),
                   53|128,1, 3, 0, 1, 2,
  78,
   OPC_CheckChild0Integer, 15|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 35|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_B),
                    35|128,1, 2, 0, 1,
   15, 34|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_H),
                    34|128,1, 2, 0, 1,
   15, 33|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_S),
                    33|128,1, 2, 0, 1,
   15, 32|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_PZI_D),
                    32|128,1, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 5|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 104|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 16|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 124|128,9,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 121|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 107|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 2|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  78,
   OPC_CheckChild0Integer, 116|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v16i8,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINQV_VPZ_B),
                    MVT::v16i8, 2, 0, 1,
   16, MVT::v8i16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINQV_VPZ_H),
                    MVT::v8i16, 2, 0, 1,
   16, MVT::v4i32,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINQV_VPZ_S),
                    MVT::v4i32, 2, 0, 1,
   16, MVT::v2i64,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINQV_VPZ_D),
                    MVT::v2i64, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 46|128,17,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_D),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_H),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_S),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_D),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ1_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 47|128,17,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_D),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_H),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_S),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_D),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIPQ2_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 100|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_D),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_H),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_S),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_D),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ1_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 101|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_D),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_H),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_S),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_D),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZPQ2_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  78|128,1,
   OPC_CheckChild0Integer, 55|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_B),
                    42|128,1, 3, 0, 1, 2,
   22, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_H),
                    48|128,1, 3, 0, 1, 2,
   22, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_S),
                    53|128,1, 3, 0, 1, 2,
   22, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_D),
                    58|128,1, 3, 0, 1, 2,
   22, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_H),
                    66|128,1, 3, 0, 1, 2,
   22, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_S),
                    77|128,1, 3, 0, 1, 2,
   22, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_D),
                    81|128,1, 3, 0, 1, 2,
   22, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBXQ_ZZZ_H),
                    72|128,1, 3, 0, 1, 2,
   0,
  38|128,1,
   OPC_CheckChild0Integer, 53|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_B),
                    42|128,1, 2, 0, 1,
   17, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_H),
                    48|128,1, 2, 0, 1,
   17, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_S),
                    53|128,1, 2, 0, 1,
   17, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_D),
                    58|128,1, 2, 0, 1,
   17, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_H),
                    66|128,1, 2, 0, 1,
   17, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_S),
                    77|128,1, 2, 0, 1,
   17, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_D),
                    81|128,1, 2, 0, 1,
   17, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBLQ_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  32|128,1,
   OPC_CheckChild0Integer, 107|128,10,
   OPC_RecordChild1,
   OPC_Scope, 20,
    OPC_CheckChild1Type, 35|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 61,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_B),
                    42|128,1, 2, 0, 1,
   54,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 48|128,1,
     OPC_CheckChild2Type, 48|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_H),
                     48|128,1, 2, 0, 1,
    13, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_H),
                     66|128,1, 2, 0, 1,
    13, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_H),
                     72|128,1, 2, 0, 1,
    0,
   38,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 53|128,1,
     OPC_CheckChild2Type, 53|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_S),
                     53|128,1, 2, 0, 1,
    13, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_S),
                     77|128,1, 2, 0, 1,
    0,
   38,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 58|128,1,
     OPC_CheckChild2Type, 58|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_D),
                     58|128,1, 2, 0, 1,
    13, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_CheckPatternPredicate, 61,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXPAND_ZPZ_D),
                     81|128,1, 2, 0, 1,
    0,
   0,
  117,
   OPC_CheckChild0Integer, 30|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 35, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8i16, 3, 7, 2, 3,
   35, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8f16, 3, 7, 2, 3,
   35, MVT::v8bf16,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8bf16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8bf16, 3, 7, 2, 3,
   0,
  78|128,2,
   OPC_CheckChild0Integer, 52|128,15,
   OPC_RecordChild1,
   OPC_SwitchType , 38, 42|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_B),
                    42|128,1, 2, 6, 2,
   38, 48|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_H),
                    48|128,1, 2, 6, 2,
   38, 53|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_S),
                    53|128,1, 2, 6, 2,
   38, 58|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_D),
                    58|128,1, 2, 6, 2,
   38, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_H),
                    66|128,1, 2, 6, 2,
   38, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_S),
                    77|128,1, 2, 6, 2,
   38, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_D),
                    81|128,1, 2, 6, 2,
   38, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 0, 4, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZZ_H),
                    72|128,1, 2, 6, 2,
   0,
  41,
   OPC_CheckChild0Integer, 26|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTN_Z2Z_StoH),
                   48|128,1, 1, 5,
  41,
   OPC_CheckChild0Integer, 9|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVTN_Z2Z_StoH),
                   48|128,1, 1, 5,
  41,
   OPC_CheckChild0Integer, 30|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTUN_Z2Z_StoH),
                   48|128,1, 1, 5,
  106,
   OPC_CheckChild0Integer, 17|128,13,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 42|128,1,
    OPC_CheckChild1Type, 35|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_B),
                    42|128,1, 3, 1, 2, 0,
   22, 48|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_H),
                    48|128,1, 3, 1, 2, 0,
   22, 53|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_S),
                    53|128,1, 3, 1, 2, 0,
   22, 58|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMOV_ZIP_D),
                    58|128,1, 3, 1, 2, 0,
   0,
  41,
   OPC_CheckChild0Integer, 24|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVT_Z2Z_StoH),
                   48|128,1, 1, 5,
  41,
   OPC_CheckChild0Integer, 7|128,16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVT_Z2Z_StoH),
                   48|128,1, 1, 5,
  41,
   OPC_CheckChild0Integer, 28|128,14,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 53|128,1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTU_Z2Z_StoH),
                   48|128,1, 1, 5,
  112,
   OPC_CheckChild0Integer, 25|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVT_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVT_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  112,
   OPC_CheckChild0Integer, 8|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVT_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVT_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  112,
   OPC_CheckChild0Integer, 29|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTU_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTU_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  112,
   OPC_CheckChild0Integer, 27|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTN_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTN_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  112,
   OPC_CheckChild0Integer, 31|128,14,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTUN_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQCVTUN_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  112,
   OPC_CheckChild0Integer, 10|128,16,
   OPC_RecordChild1,
   OPC_SwitchType , 50, 42|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVTN_Z4Z_StoB),
                    42|128,1, 1, 9,
   50, 48|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 4, 0, 5, 1, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQCVTN_Z4Z_DtoH),
                    48|128,1, 1, 9,
   0,
  66|128,2,
   OPC_CheckChild0Integer, 25|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 77, MVT::v16i8,
    OPC_Scope, 29,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_B),
                     MVT::v16i8, 3, 0, 5, 2,
    44,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_B),
                     MVT::v16i8, 3, 5, 8, 2,
    0,
   77, MVT::v8i16,
    OPC_Scope, 29,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8i16, 3, 0, 5, 2,
    44,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8i16, 3, 5, 8, 2,
    0,
   77, MVT::v8f16,
    OPC_Scope, 29,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8f16, 3, 0, 5, 2,
    44,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8f16, 3, 5, 8, 2,
    0,
   77, MVT::v8bf16,
    OPC_Scope, 29,
     OPC_CheckChild1Type, MVT::v8bf16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8bf16, 3, 0, 5, 2,
    44,
     OPC_CheckChild1Type, MVT::v4bf16,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT2_H),
                     MVT::v8bf16, 3, 5, 8, 2,
    0,
   0,
  35,
   OPC_CheckChild0Integer, 27|128,6,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 40,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::f128, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::f128, 3, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_B),
                   MVT::v16i8, 3, 0, 5, 2,
  34|128,1,
   OPC_CheckChild0Integer, 28|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 50, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 8, 2, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8i16, 3, 7, 10, 3,
   50, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 8, 2, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8f16, 3, 7, 10, 3,
   50, MVT::v8bf16,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8bf16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, AArch64::qsub0,
    OPC_EmitIntegerI32, AArch64::qsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 4, 0, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 8, 2, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LUT4_H),
                    MVT::v8bf16, 3, 7, 10, 3,
   0,
  47|128,1,
   OPC_CheckChild0Integer, 91|128,4,
   OPC_Scope, 78,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 33, 2|128,1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 2|128,1,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv4f32),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 1, 2,
    30, MVT::v4f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv8f16),
                     MVT::f128, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4f16, 2, 1, 2,
    0,
   90,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v4f16,
     OPC_CheckChild1Type, MVT::v4f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f16),
                     MVT::v4f16, 2, 0, 1,
    13, MVT::v8f16,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv8f16),
                     MVT::v8f16, 2, 0, 1,
    16, 2|128,1,
     OPC_CheckChild1Type, 2|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f32),
                     2|128,1, 2, 0, 1,
    16, 4|128,1,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f32),
                     4|128,1, 2, 0, 1,
    16, 22|128,1,
     OPC_CheckChild1Type, 22|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f64),
                     22|128,1, 2, 0, 1,
    0,
   0,
  18|128,5,
   OPC_CheckChild0Integer, 115|128,10,
   OPC_RecordChild1,
   OPC_Scope, 120|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    44,
     OPC_RecordChild2,
     OPC_SwitchType , 17, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   71|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   71|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  18|128,5,
   OPC_CheckChild0Integer, 53|128,12,
   OPC_RecordChild1,
   OPC_Scope, 120|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    44,
     OPC_RecordChild2,
     OPC_SwitchType , 17, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   71|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   71|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  22|128,5,
   OPC_CheckChild0Integer, 106|128,11,
   OPC_RecordChild1,
   OPC_Scope, 122|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    46,
     OPC_RecordChild2,
     OPC_SwitchType , 18, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     19, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   72|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   72|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  97|128,4,
   OPC_CheckChild0Integer, 55|128,12,
   OPC_RecordChild1,
   OPC_Scope, 71|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZZ_H_ZERO),
                     66|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    0,
   71|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   71|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  21|128,5,
   OPC_CheckChild0Integer, 60|128,11,
   OPC_RecordChild1,
   OPC_Scope, 121|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAXNM_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    45,
     OPC_RecordChild2,
     OPC_SwitchType , 18, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAXNM_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   72|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   72|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  21|128,5,
   OPC_CheckChild0Integer, 78|128,11,
   OPC_RecordChild1,
   OPC_Scope, 121|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMINNM_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    45,
     OPC_RecordChild2,
     OPC_SwitchType , 18, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMINNM_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   72|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   72|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  21|128,5,
   OPC_CheckChild0Integer, 54|128,11,
   OPC_RecordChild1,
   OPC_Scope, 121|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAX_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    45,
     OPC_RecordChild2,
     OPC_SwitchType , 18, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAX_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   72|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   72|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  21|128,5,
   OPC_CheckChild0Integer, 72|128,11,
   OPC_RecordChild1,
   OPC_Scope, 121|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f16,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    58,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 21, 66|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate, 19,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_H_ZERO),
                      66|128,1, 3, 0, 1, 3,
     21, 72|128,1,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate, 84,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMIN_ZPZZ_ZERO),
                      72|128,1, 3, 0, 1, 3,
     0,
    45,
     OPC_RecordChild2,
     OPC_SwitchType , 18, 66|128,1,
      OPC_CheckChild2Type, 66|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 66|128,1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_H),
                      66|128,1, 3, 0, 1, 2,
     18, 72|128,1,
      OPC_CheckChild2Type, 72|128,1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMIN_ZPmZZ),
                      72|128,1, 3, 0, 1, 2,
     0,
    0,
   72|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_ZERO),
                      77|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   72|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 75,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     25,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate, 27,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_D_ZERO),
                      81|128,1, 3, 0, 1, 3,
     0,
    62,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     22,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmI_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    22,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  100|128,1,
   OPC_CheckChild0Integer, 83|128,4,
   OPC_RecordChild1,
   OPC_Scope, 110,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4bf16,
    OPC_Scope, 83,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8bf16,
     OPC_SwitchType , 31, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, 2|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4bf16,
      OPC_MoveParent,
      OPC_CheckType, 2|128,1,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BF16DOTlanev4bf16),
                      2|128,1, 4, 0, 1, 2, 4,
     30, MVT::v4i32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4bf16,
      OPC_MoveParent,
      OPC_CheckType, 2|128,1,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BF16DOTlanev4bf16),
                      2|128,1, 4, 0, 1, 2, 4,
     0,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4bf16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFDOTv4bf16),
                     2|128,1, 3, 0, 1, 2,
    0,
   110,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8bf16,
    OPC_Scope, 83,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8bf16,
     OPC_SwitchType , 31, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8bf16,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BF16DOTlanev8bf16),
                      4|128,1, 4, 0, 1, 2, 4,
     30, MVT::v4i32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8bf16,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BF16DOTlanev8bf16),
                      4|128,1, 4, 0, 1, 2, 4,
     0,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8bf16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 58,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFDOTv8bf16),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  28|128,2,
   OPC_CheckChild0Integer, 14|128,6,
   OPC_RecordChild1,
   OPC_Scope, 70,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 43,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16_indexed),
                     MVT::v4f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16),
                     MVT::v4f16, 4, 0, 1, 2, 3,
    0,
   69,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 42,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16_indexed),
                     MVT::v8f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    0,
   78,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32_indexed),
                     4|128,1, 5, 0, 1, 2, 4, 5,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32),
                     4|128,1, 4, 0, 1, 2, 3,
    0,
   28,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 2|128,1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f32),
                    2|128,1, 4, 0, 1, 2, 3,
   28,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 22|128,1,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f64),
                    22|128,1, 4, 0, 1, 2, 3,
   0,
  28|128,2,
   OPC_CheckChild0Integer, 17|128,6,
   OPC_RecordChild1,
   OPC_Scope, 70,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 43,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16_indexed),
                     MVT::v4f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16),
                     MVT::v4f16, 4, 0, 1, 2, 3,
    0,
   69,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 42,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16_indexed),
                     MVT::v8f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    0,
   78,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32_indexed),
                     4|128,1, 5, 0, 1, 2, 4, 5,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32),
                     4|128,1, 4, 0, 1, 2, 3,
    0,
   28,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 2|128,1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f32),
                    2|128,1, 4, 0, 1, 2, 3,
   28,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 22|128,1,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f64),
                    22|128,1, 4, 0, 1, 2, 3,
   0,
  28|128,2,
   OPC_CheckChild0Integer, 15|128,6,
   OPC_RecordChild1,
   OPC_Scope, 70,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 43,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16_indexed),
                     MVT::v4f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16),
                     MVT::v4f16, 4, 0, 1, 2, 3,
    0,
   69,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 42,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16_indexed),
                     MVT::v8f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    0,
   78,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32_indexed),
                     4|128,1, 5, 0, 1, 2, 4, 5,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32),
                     4|128,1, 4, 0, 1, 2, 3,
    0,
   28,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 2|128,1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f32),
                    2|128,1, 4, 0, 1, 2, 3,
   28,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 22|128,1,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f64),
                    22|128,1, 4, 0, 1, 2, 3,
   0,
  28|128,2,
   OPC_CheckChild0Integer, 16|128,6,
   OPC_RecordChild1,
   OPC_Scope, 70,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 43,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16_indexed),
                     MVT::v4f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f16),
                     MVT::v4f16, 4, 0, 1, 2, 3,
    0,
   69,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 42,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16_indexed),
                     MVT::v8f16, 5, 0, 1, 2, 4, 5,
    18,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv8f16),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    0,
   78,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32_indexed),
                     4|128,1, 5, 0, 1, 2, 4, 5,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv4f32),
                     4|128,1, 4, 0, 1, 2, 3,
    0,
   28,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 2|128,1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f32),
                    2|128,1, 4, 0, 1, 2, 3,
   28,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 22|128,1,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLAv2f64),
                    22|128,1, 4, 0, 1, 2, 3,
   0,
  31,
   OPC_CheckChild0Integer, 24|128,6,
   OPC_Scope, 16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
   8,
    OPC_RecordChild1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 0,
   0,
  95,
   OPC_CheckChild0Integer, 2|128,11,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLA_ZZZI_H),
                    66|128,1, 5, 0, 1, 2, 3, 5,
   44,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLA_ZZZI_S),
                    77|128,1, 5, 0, 1, 2, 3, 5,
   0,
  50,
   OPC_CheckChild0Integer, 84|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 29,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 58,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALBIdx),
                    4|128,1, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALB),
                    4|128,1, 3, 0, 1, 2,
   0,
  50,
   OPC_CheckChild0Integer, 85|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 29,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 58,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALTIdx),
                    4|128,1, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALT),
                    4|128,1, 3, 0, 1, 2,
   0,
  2|128,1,
   OPC_CheckChild0Integer, 118|128,4,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALlanev4f16),
                     2|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALv4f16),
                     2|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALlanev8f16),
                     4|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALv8f16),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  2|128,1,
   OPC_CheckChild0Integer, 120|128,4,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLlanev4f16),
                     2|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLv4f16),
                     2|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLlanev8f16),
                     4|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLv8f16),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  2|128,1,
   OPC_CheckChild0Integer, 119|128,4,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAL2lanev4f16),
                     2|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAL2v4f16),
                     2|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAL2lanev8f16),
                     4|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAL2v8f16),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  2|128,1,
   OPC_CheckChild0Integer, 121|128,4,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSL2lanev4f16),
                     2|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSL2v4f16),
                     2|128,1, 3, 0, 1, 2,
    0,
   61,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_Scope, 34,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSL2lanev8f16),
                     4|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 52,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSL2v8f16),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 110|128,10,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_ZERO),
                     66|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 113|128,11,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_H_ZERO),
                     66|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 47|128,11,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPZZ_H_ZERO),
                     66|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVR_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 45|128,11,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1Type, 34|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_H_ZERO),
                     66|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 33|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_S_ZERO),
                     77|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPmZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   60,
    OPC_CheckChild1Type, 32|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 19,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_D_ZERO),
                     81|128,1, 3, 0, 1, 3,
    21,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPmZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 10|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_StoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_StoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 11|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_DtoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_DtoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 13|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_DtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_DtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 12|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_HtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_HtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 14|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_HtoD),
                    81|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_HtoD),
                     81|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoD),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 15|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_StoD),
                    81|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPzZ_StoD),
                     81|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoD),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 28|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTX_ZPzZ_DtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTX_ZPzZ_DtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTX_ZPmZ_DtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 19|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPzZ_HtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPzZ_HtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPmZ_HtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 20|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPzZ_StoD),
                    81|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPzZ_StoD),
                     81|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLT_ZPmZ_StoD),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  51,
   OPC_CheckChild0Integer, 9|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_ZPzZ_StoH),
                    72|128,1, 2, 1, 3,
   27,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_ZPzZ_StoH),
                     72|128,1, 2, 1, 2,
    11,
     OPC_CheckPatternPredicate, 70,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_ZPmZ),
                     72|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 90|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 91|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoD),
                    81|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoD),
                     81|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoD),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 88|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 89|128,13,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 85|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoS),
                    77|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoS),
                     77|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 86|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoD),
                    81|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoD),
                     81|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoD),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 83|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  50,
   OPC_CheckChild0Integer, 84|128,15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoH),
                    66|128,1, 2, 1, 3,
   26,
    OPC_RecordChild3,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoH),
                     66|128,1, 2, 1, 2,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoH),
                     66|128,1, 3, 0, 1, 2,
    0,
   0,
  67|128,2,
   OPC_CheckChild0Integer, 99|128,11,
   OPC_RecordChild1,
   OPC_Scope, 46|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_Scope, 88,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_Scope, 59,
      OPC_MoveChild4,
      OPC_SwitchOpcode , 25, TARGET_VAL(AArch64ISD::TRN1),
       OPC_RecordChild0,
       OPC_CheckChild1Same, 3,
       OPC_CheckType, 81|128,1,
       OPC_MoveParent,
       OPC_CheckType, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                       81|128,1, 4, 1, 2, 3, 4,
      25, TARGET_VAL(AArch64ISD::TRN2),
       OPC_RecordChild0,
       OPC_CheckChild1Same, 3,
       OPC_CheckType, 81|128,1,
       OPC_MoveParent,
       OPC_CheckType, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_EmitIntegerI32, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                       81|128,1, 4, 1, 2, 3, 4,
      0,
     18,
      OPC_RecordChild4,
      OPC_CheckChild4Type, 81|128,1,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_D_UNDEF),
                      81|128,1, 4, 0, 1, 2, 3,
     0,
    25,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                     64|128,1, 4, 0, 1, 2, 3,
    25,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                     76|128,1, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild2Type, 70|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 70|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 70|128,1,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                     70|128,1, 4, 0, 1, 2, 3,
    0,
   57,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                     66|128,1, 4, 0, 1, 2, 3,
    23, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                     72|128,1, 4, 0, 1, 2, 3,
    0,
   82,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                     77|128,1, 4, 0, 1, 2, 3,
    23, 71|128,1,
     OPC_CheckChild2Type, 71|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 71|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                     71|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  117,
   OPC_CheckChild0Integer, 125|128,10,
   OPC_RecordChild1,
   OPC_Scope, 36,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 3, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADD_ZPmZ_H),
                    66|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 3, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADD_ZPmZ_S),
                    77|128,1, 4, 0, 1, 2, 4,
   36,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 3, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADD_ZPmZ_D),
                    81|128,1, 4, 0, 1, 2, 4,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 1|128,11,
   OPC_RecordChild1,
   OPC_Scope, 41,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLA_ZPmZZ_H),
                    66|128,1, 5, 0, 1, 2, 3, 5,
   41,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLA_ZPmZZ_S),
                    77|128,1, 5, 0, 1, 2, 3, 5,
   41,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 40,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNodeXForm, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLA_ZPmZZ_D),
                    81|128,1, 5, 0, 1, 2, 3, 5,
   0,
  93,
   OPC_CheckChild0Integer, 56|128,12,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTMAD_ZZI_H),
                    66|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTMAD_ZZI_S),
                    77|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTMAD_ZZI_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  12|128,1,
   OPC_CheckChild0Integer, 91|128,11,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_H),
                    66|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_S),
                    77|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                    81|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZZZI),
                    72|128,1, 4, 0, 1, 2, 3,
   0,
  12|128,1,
   OPC_CheckChild0Integer, 98|128,11,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_H),
                    66|128,1, 4, 0, 1, 2, 3,
   32,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_S),
                    77|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                    81|128,1, 4, 0, 1, 2, 3,
   33,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZZZI),
                    72|128,1, 4, 0, 1, 2, 3,
   0,
  120,
   OPC_CheckChild0Integer, 107|128,11,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_H),
                    66|128,1, 3, 0, 1, 2,
   27,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_S),
                    77|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 0, 1, 2,
   28,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZI),
                    72|128,1, 3, 0, 1, 2,
   0,
  25,
   OPC_CheckChild0Integer, 30|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFDOT_ZZI),
                   77|128,1, 4, 0, 1, 2, 3,
  25,
   OPC_CheckChild0Integer, 32|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALB_ZZZI),
                   77|128,1, 4, 0, 1, 2, 3,
  25,
   OPC_CheckChild0Integer, 34|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALT_ZZZI),
                   77|128,1, 4, 0, 1, 2, 3,
  36,
   OPC_CheckChild0Integer, 94|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALB_ZZZI_SHH),
                   77|128,1, 4, 0, 1, 2, 3,
  36,
   OPC_CheckChild0Integer, 96|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALT_ZZZI_SHH),
                   77|128,1, 4, 0, 1, 2, 3,
  36,
   OPC_CheckChild0Integer, 101|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLB_ZZZI_SHH),
                   77|128,1, 4, 0, 1, 2, 3,
  36,
   OPC_CheckChild0Integer, 103|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLT_ZZZI_SHH),
                   77|128,1, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 48|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDOT_ZZZI_S),
                   77|128,1, 4, 0, 1, 2, 3,
  25,
   OPC_CheckChild0Integer, 36|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLSLB_ZZZI_S),
                   77|128,1, 4, 0, 1, 2, 3,
  25,
   OPC_CheckChild0Integer, 38|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLSLT_ZZZI_S),
                   77|128,1, 4, 0, 1, 2, 3,
  17,
   OPC_CheckChild0Integer, 86|128,4,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 58,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMMLA),
                   4|128,1, 3, 0, 1, 2,
  113,
   OPC_CheckChild0Integer, 13|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv4f16),
                    MVT::v4f16, 3, 0, 1, 2,
   17, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv8f16),
                    MVT::v8f16, 3, 0, 1, 2,
   20, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv2f32),
                    2|128,1, 3, 0, 1, 2,
   20, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv4f32),
                    4|128,1, 3, 0, 1, 2,
   20, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv2f64),
                    22|128,1, 3, 0, 1, 2,
   0,
  113,
   OPC_CheckChild0Integer, 12|128,6,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv4f16),
                    MVT::v4f16, 3, 0, 1, 2,
   17, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv8f16),
                    MVT::v8f16, 3, 0, 1, 2,
   20, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv2f32),
                    2|128,1, 3, 0, 1, 2,
   20, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv4f32),
                    4|128,1, 3, 0, 1, 2,
   20, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCADDv2f64),
                    22|128,1, 3, 0, 1, 2,
   0,
  64,
   OPC_CheckChild0Integer, 21|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32ZDr),
                    21|128,1, 1, 0,
   12, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Zv2f32),
                    2|128,1, 1, 0,
   12, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Zv4f32),
                    4|128,1, 1, 0,
   12, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Zv2f64),
                    22|128,1, 1, 0,
   0,
  64,
   OPC_CheckChild0Integer, 23|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64ZDr),
                    21|128,1, 1, 0,
   12, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Zv2f32),
                    2|128,1, 1, 0,
   12, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Zv4f32),
                    4|128,1, 1, 0,
   12, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Zv2f64),
                    22|128,1, 1, 0,
   0,
  64,
   OPC_CheckChild0Integer, 20|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32XDr),
                    21|128,1, 1, 0,
   12, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Xv2f32),
                    2|128,1, 1, 0,
   12, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Xv4f32),
                    4|128,1, 1, 0,
   12, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Xv2f64),
                    22|128,1, 1, 0,
   0,
  64,
   OPC_CheckChild0Integer, 22|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64XDr),
                    21|128,1, 1, 0,
   12, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Xv2f32),
                    2|128,1, 1, 0,
   12, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Xv4f32),
                    4|128,1, 1, 0,
   12, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Xv2f64),
                    22|128,1, 1, 0,
   0,
  18,
   OPC_CheckChild0Integer, 103|128,4,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 22|128,1,
   OPC_CheckType, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv2f32),
                   2|128,1, 1, 0,
  111,
   OPC_CheckChild0Integer, 88|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv2f64),
                    22|128,1, 2, 0, 1,
   15, 21|128,1,
    OPC_CheckChild1Type, 21|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD64),
                    21|128,1, 2, 0, 1,
   0,
  93,
   OPC_CheckChild0Integer, 108|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2f64),
                    22|128,1, 2, 0, 1,
   0,
  93,
   OPC_CheckChild0Integer, 110|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2f64),
                    22|128,1, 2, 0, 1,
   0,
  93,
   OPC_CheckChild0Integer, 114|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2f64),
                    22|128,1, 2, 0, 1,
   0,
  93,
   OPC_CheckChild0Integer, 116|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv4f16),
                    MVT::v4f16, 2, 0, 1,
   13, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2f64),
                    22|128,1, 2, 0, 1,
   0,
  95,
   OPC_CheckChild0Integer, 16|128,5,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALEv4f16),
                    MVT::v4f16, 2, 0, 1,
   14, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALEv8f16),
                    MVT::v8f16, 2, 0, 1,
   16, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALEv2f32),
                    2|128,1, 2, 0, 1,
   16, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALEv4f32),
                    4|128,1, 2, 0, 1,
   16, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALEv2f64),
                    22|128,1, 2, 0, 1,
   0,
  98,
   OPC_CheckChild0Integer, 93|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f16),
                    MVT::v4f16, 2, 0, 1,
   14, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv8f16),
                    MVT::v8f16, 2, 0, 1,
   17, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f32),
                    2|128,1, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f32),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f64),
                    22|128,1, 2, 0, 1,
   0,
  98,
   OPC_CheckChild0Integer, 94|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f16),
                    MVT::v4f16, 2, 0, 1,
   14, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv8f16),
                    MVT::v8f16, 2, 0, 1,
   17, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f32),
                    2|128,1, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f32),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f64),
                    22|128,1, 2, 0, 1,
   0,
  49,
   OPC_CheckChild0Integer, 122|128,4,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 124,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMMLAv8f16),
                    MVT::v8f16, 3, 0, 1, 2,
   20, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 125,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMMLAv4f32),
                    4|128,1, 3, 0, 1, 2,
   0,
  104,
   OPC_CheckChild0Integer, 47|128,12,
   OPC_RecordChild1,
   OPC_Scope, 47,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALE_ZPmZ_H),
                     66|128,1, 3, 0, 1, 2,
    18, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 48|128,1,
     OPC_CheckPatternPredicate, 126,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSCALE_ZPZZ_H),
                     72|128,1, 3, 0, 1, 2,
    0,
   24,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALE_ZPmZ_S),
                    77|128,1, 3, 0, 1, 2,
   24,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSCALE_ZPmZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  17|128,1,
   OPC_CheckChild0Integer, 111|128,10,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   46,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    17, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   66,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    17, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    17, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  17|128,1,
   OPC_CheckChild0Integer, 114|128,11,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   46,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    17, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   66,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    17, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    17, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULX_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  63,
   OPC_CheckChild0Integer, 57|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSMUL_ZZZ_H),
                    66|128,1, 2, 0, 1,
   16, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSMUL_ZZZ_S),
                    77|128,1, 2, 0, 1,
   16, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSMUL_ZZZ_D),
                    81|128,1, 2, 0, 1,
   0,
  63,
   OPC_CheckChild0Integer, 58|128,12,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSSEL_ZZZ_H),
                    66|128,1, 2, 0, 1,
   16, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSSEL_ZZZ_S),
                    77|128,1, 2, 0, 1,
   16, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FTSSEL_ZZZ_D),
                    81|128,1, 2, 0, 1,
   0,
  127|128,1,
   OPC_CheckChild0Integer, 90|128,11,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                     66|128,1, 4, 0, 1, 2, 3,
    23, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                     72|128,1, 4, 0, 1, 2, 3,
    0,
   82,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                     77|128,1, 4, 0, 1, 2, 3,
    23, 71|128,1,
     OPC_CheckChild2Type, 71|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 71|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                     71|128,1, 4, 0, 1, 2, 3,
    0,
   107,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_D),
                     81|128,1, 4, 0, 1, 2, 3,
    23, 70|128,1,
     OPC_CheckChild2Type, 70|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 70|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                     70|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  127|128,1,
   OPC_CheckChild0Integer, 97|128,11,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 66|128,1,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                     66|128,1, 4, 0, 1, 2, 3,
    23, 72|128,1,
     OPC_CheckChild2Type, 72|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                     72|128,1, 4, 0, 1, 2, 3,
    0,
   82,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                     77|128,1, 4, 0, 1, 2, 3,
    23, 71|128,1,
     OPC_CheckChild2Type, 71|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 71|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                     71|128,1, 4, 0, 1, 2, 3,
    0,
   107,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_D),
                     81|128,1, 4, 0, 1, 2, 3,
    23, 70|128,1,
     OPC_CheckChild2Type, 70|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 70|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                     70|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  47|128,1,
   OPC_CheckChild0Integer, 117|128,11,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   56,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_H),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_S),
                     77|128,1, 4, 0, 1, 2, 3,
    0,
   81,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_H),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_S),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPmZZ_D),
                     81|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  47|128,1,
   OPC_CheckChild0Integer, 119|128,11,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   56,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_H),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_S),
                     77|128,1, 4, 0, 1, 2, 3,
    0,
   81,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_H),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_S),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPmZZ_D),
                     81|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  93,
   OPC_CheckChild0Integer, 53|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAD_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   26, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAD_ZPmZZ_S),
                    77|128,1, 4, 0, 1, 2, 3,
   26, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAD_ZPmZZ_D),
                    81|128,1, 4, 0, 1, 2, 3,
   0,
  93,
   OPC_CheckChild0Integer, 105|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSB_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   26, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSB_ZPmZZ_S),
                    77|128,1, 4, 0, 1, 2, 3,
   26, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSB_ZPmZZ_D),
                    81|128,1, 4, 0, 1, 2, 3,
   0,
  93,
   OPC_CheckChild0Integer, 116|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMAD_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   26, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMAD_ZPmZZ_S),
                    77|128,1, 4, 0, 1, 2, 3,
   26, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMAD_ZPmZZ_D),
                    81|128,1, 4, 0, 1, 2, 3,
   0,
  93,
   OPC_CheckChild0Integer, 121|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSB_ZPmZZ_H),
                    66|128,1, 4, 0, 1, 2, 3,
   26, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSB_ZPmZZ_S),
                    77|128,1, 4, 0, 1, 2, 3,
   26, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSB_ZPmZZ_D),
                    81|128,1, 4, 0, 1, 2, 3,
   0,
  47|128,1,
   OPC_CheckChild0Integer, 118|128,11,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                    66|128,1, 4, 0, 1, 2, 3,
   56,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                     77|128,1, 4, 0, 1, 2, 3,
    0,
   81,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_D_UNDEF),
                     81|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  47|128,1,
   OPC_CheckChild0Integer, 120|128,11,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                    66|128,1, 4, 0, 1, 2, 3,
   56,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                     65|128,1, 4, 0, 1, 2, 3,
    22, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_S_UNDEF),
                     77|128,1, 4, 0, 1, 2, 3,
    0,
   81,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                     64|128,1, 4, 0, 1, 2, 3,
    22, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_S_UNDEF),
                     76|128,1, 4, 0, 1, 2, 3,
    22, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_D_UNDEF),
                     81|128,1, 4, 0, 1, 2, 3,
    0,
   0,
  51,
   OPC_CheckChild0Integer, 50|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate, 107,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FEXPA_ZZ_H),
                    66|128,1, 1, 0,
   12, 77|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate, 107,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FEXPA_ZZ_S),
                    77|128,1, 1, 0,
   12, 81|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate, 107,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FEXPA_ZZ_D),
                    81|128,1, 1, 0,
   0,
  17,
   OPC_CheckChild0Integer, 29|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFDOT_ZZZ),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 39|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 127,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMMLA_ZZZ_HtoS),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 31|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALB_ZZZ),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 33|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALT_ZZZ),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 22|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 70,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTNT_ZPmZ),
                   72|128,1, 3, 0, 1, 2,
  78,
   OPC_CheckChild0Integer, 104|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 44, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_Scope, 18,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate, 128,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMMLA_ZZZ_S),
                     77|128,1, 3, 0, 1, 2,
    18,
     OPC_CheckChild2Type, 66|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 66|128,1,
     OPC_CheckPatternPredicate, 129,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLLA_ZZZ_HtoS),
                     77|128,1, 3, 0, 1, 2,
    0,
   22, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMMLA_ZZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 29|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNT_ZPmZ_DtoS),
                   77|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 23|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNT_ZPmZ_StoH),
                   66|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 24|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNT_ZPmZ_DtoS),
                   77|128,1, 3, 0, 1, 2,
  78,
   OPC_CheckChild0Integer, 118|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDP_ZPmZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDP_ZPmZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDP_ZPmZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 66|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 84|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 69|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXP_ZPmZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXP_ZPmZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXP_ZPmZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  78,
   OPC_CheckChild0Integer, 87|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 21, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINP_ZPmZZ_H),
                    66|128,1, 3, 0, 1, 2,
   21, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINP_ZPmZZ_S),
                    77|128,1, 3, 0, 1, 2,
   21, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINP_ZPmZZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  28,
   OPC_CheckChild0Integer, 93|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALB_ZZZ_SHH),
                   77|128,1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 95|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLALT_ZZZ_SHH),
                   77|128,1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 100|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLB_ZZZ_SHH),
                   77|128,1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 102|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSLT_ZZZ_SHH),
                   77|128,1, 3, 0, 1, 2,
  106,
   OPC_CheckChild0Integer, 126|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 66|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 37,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_H),
                    66|128,1, 3, 0, 1, 2,
   22, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate, 37,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_S),
                    77|128,1, 3, 0, 1, 2,
   22, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate, 37,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_D),
                    81|128,1, 3, 0, 1, 2,
   22, 72|128,1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCLAMP_ZZZ),
                    72|128,1, 3, 0, 1, 2,
   0,
  29,
   OPC_CheckChild0Integer, 49|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 66|128,1,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDOT_ZZZ_S),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 35|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLSLB_ZZZ_S),
                   77|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 37|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLSLT_ZZZ_S),
                   77|128,1, 3, 0, 1, 2,
  64,
   OPC_CheckChild0Integer, 119|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v8f16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDQV_H),
                    MVT::v8f16, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDQV_S),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDQV_D),
                    22|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 67|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v8f16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMQV_H),
                    MVT::v8f16, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMQV_S),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMQV_D),
                    22|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 85|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v8f16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMQV_H),
                    MVT::v8f16, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMQV_S),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMQV_D),
                    22|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 70|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v8f16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXQV_H),
                    MVT::v8f16, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXQV_S),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXQV_D),
                    22|128,1, 2, 0, 1,
   0,
  64,
   OPC_CheckChild0Integer, 88|128,11,
   OPC_RecordChild1,
   OPC_SwitchType , 16, MVT::v8f16,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINQV_H),
                    MVT::v8f16, 2, 0, 1,
   17, 4|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINQV_S),
                    4|128,1, 2, 0, 1,
   17, 22|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINQV_D),
                    22|128,1, 2, 0, 1,
   0,
  16,
   OPC_CheckChild0Integer, 26|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNT_ZPzZ_StoH),
                   66|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 27|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNT_ZPzZ_DtoS),
                   77|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 30|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNT_ZPzZ_StoD),
                   77|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 25|128,11,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate5,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTNT_ZPzZ_StoH),
                   72|128,1, 3, 0, 1, 2,
  81,
   OPC_CheckChild0Integer, 123|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPmZ_H),
                    66|128,1, 3, 0, 1, 2,
   22, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPmZ_S),
                    77|128,1, 3, 0, 1, 2,
   22, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPmZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  81,
   OPC_CheckChild0Integer, 121|128,10,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 66|128,1,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPmZ_H),
                    66|128,1, 3, 0, 1, 2,
   22, 77|128,1,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPmZ_S),
                    77|128,1, 3, 0, 1, 2,
   22, 81|128,1,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPmZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  23|128,1,
   OPC_CheckChild0Integer, 122|128,10,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   48,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    18, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   69,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    18, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    18, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  23|128,1,
   OPC_CheckChild0Integer, 124|128,10,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckChild1Type, 34|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   48,
    OPC_CheckChild1Type, 33|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 65|128,1,
     OPC_CheckChild2Type, 65|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 65|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    18, 77|128,1,
     OPC_CheckChild2Type, 77|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 77|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   69,
    OPC_CheckChild1Type, 32|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 64|128,1,
     OPC_CheckChild2Type, 64|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    18, 76|128,1,
     OPC_CheckChild2Type, 76|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 76|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    18, 81|128,1,
     OPC_CheckChild2Type, 81|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 81|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  41,
   OPC_CheckChild0Integer, 17|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_Z2Z_StoH),
                   66|128,1, 1, 5,
  41,
   OPC_CheckChild0Integer, 21|128,11,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTN_Z2Z_StoH),
                   66|128,1, 1, 5,
  32,
   OPC_CheckChild0Integer, 27|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_Z2Z_StoH),
                   72|128,1, 1, 5,
  32,
   OPC_CheckChild0Integer, 28|128,10,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 2, 0, 3, 1, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN_Z2Z_StoH),
                   72|128,1, 1, 5,
  0,
 38|128,104|128,1, TARGET_VAL(ISD::OR),
  OPC_Scope, 101,
   OPC_MoveChild0,
   OPC_Scope, 48,
    OPC_CheckAndImm, 127|128,1|128,124|128,7|128,112|128,31|128,64|128,127,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,126|128,3|128,120|128,15|128,96|128,63|128,0|128,127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Xr),
                    MVT::i64, 1, 0,
   48,
    OPC_CheckAndImm, 0|128,126|128,3|128,120|128,15|128,96|128,63|128,0|128,127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,1|128,124|128,7|128,112|128,31|128,64|128,127,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Xr),
                    MVT::i64, 1, 0,
   0,
  80,
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate, 33,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 0, 0, 3,
   39,
    OPC_MoveChild0,
    OPC_CheckPredicate, 107,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 0, 3, 4,
   0,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_Scope, 16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 33,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget0,
    OPC_EmitCopyToReg1, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 2, 2, 3,
   19,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 107,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitCopyToReg1, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 2, 3, 4,
   0,
  13|128,1,
   OPC_RecordChild0,
   OPC_Scope, 67,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 32, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i32,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrs),
                      MVT::i32, 3, 0, 2, 3,
     11, MVT::i64,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrs),
                      MVT::i64, 3, 0, 2, 3,
     0,
    26, TARGET_VAL(AArch64ISD::CSEL),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild1Integer, 1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitCopyToReg2, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 0, 0, 3,
    0,
   69,
    OPC_MoveChild0,
    OPC_Scope, 32,
     OPC_CheckPredicate, 130,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild1Integer, 1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitConvertToTarget1,
     OPC_EmitCopyToReg2, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 0, 3, 4,
    32,
     OPC_CheckPredicate, 107,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild1Integer, 1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitConvertToTarget1,
     OPC_EmitCopyToReg2, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 0, 3, 4,
    0,
   0,
  113,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 33, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat, /*CP*/44, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrs),
                     MVT::i32, 3, 1, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrs),
                     MVT::i64, 3, 1, 2, 3,
    0,
   71, TARGET_VAL(AArch64ISD::CSEL),
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 2, 2, 3,
    40,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_Scope, 17,
      OPC_CheckPredicate, 130,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitRegisterI32, AArch64::WZR,
      OPC_EmitConvertToTarget0,
      OPC_EmitCopyToReg1, AArch64::NZCV,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                      MVT::i32, 3, 2, 3, 4,
     17,
      OPC_CheckPredicate, 107,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_EmitConvertToTarget0,
      OPC_EmitCopyToReg1, AArch64::NZCV,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                      MVT::i64, 3, 2, 3, 4,
     0,
    0,
   0,
  3|128,1,
   OPC_RecordChild0,
   OPC_Scope, 98,
    OPC_RecordChild1,
    OPC_Scope, 38,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 15,
      OPC_CheckPredicate, 131,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 7, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRWri),
                      MVT::i32, 2, 0, 3,
     15,
      OPC_CheckPredicate, 132,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 8, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRXri),
                      MVT::i64, 2, 0, 3,
     0,
    27,
     OPC_CheckTypeI32,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRWrs),
                      MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRWrs),
                      MVT::i32, 3, 1, 2, 3,
     0,
    27,
     OPC_CheckTypeI64,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRXrs),
                      MVT::i64, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRXrs),
                      MVT::i64, 3, 1, 2, 3,
     0,
    0,
   28,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrr),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrr),
                    MVT::i32, 2, 1, 0,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 1, 0,
   0,
  22,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRWrr),
                    MVT::i32, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRXrr),
                    MVT::i64, 2, 0, 1,
   0,
  3|128,80|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 48|128,57|128,1, TARGET_VAL(ISD::AND),
    OPC_Scope, 80,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 10, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 0, 2, 1,
     10, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 0, 2, 1,
     10, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 0, 2, 1,
     10, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 0, 2, 1,
     0,
    79,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 10, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 0, 2, 1,
     10, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 0, 2, 1,
     10, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 0, 2, 1,
     10, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      58|128,1, 3, 0, 2, 1,
     0,
    39,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                     42|128,1, 3, 0, 2, 1,
    119,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 1, 2, 0,
     50,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 21,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 1, 2, 0,
      21,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 2, 0, 1,
      0,
     25,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 2, 0, 1,
     0,
    94,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     25,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 0, 2, 1,
     0,
    119,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 1, 2, 0,
     50,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 21,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       48|128,1, 3, 1, 2, 0,
      21,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       48|128,1, 3, 2, 0, 1,
      0,
     25,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 2, 0, 1,
     0,
    94,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     25,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 0, 2, 1,
     0,
    119,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 1, 2, 0,
     50,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 21,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       53|128,1, 3, 1, 2, 0,
      21,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       53|128,1, 3, 2, 0, 1,
      0,
     25,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 2, 0, 1,
     0,
    94,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     25,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 0, 2, 1,
     0,
    119,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 1, 2, 0,
     50,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 21,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       58|128,1, 3, 1, 2, 0,
      21,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       58|128,1, 3, 2, 0, 1,
      0,
     25,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 2, 0, 1,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 2, 1, 0,
     25,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      58|128,1, 3, 2, 1, 0,
     0,
    99,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 1, 2, 0,
     28,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 1, 2, 0,
     0,
    95,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 2, 0, 1,
     17,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 2, 0, 1,
     17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     0,
    99,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 1, 2, 0,
     28,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 1, 2, 0,
     0,
    95,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 2, 0, 1,
     17,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 2, 0, 1,
     17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     0,
    99,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 1, 2, 0,
     28,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 1, 2, 0,
     0,
    95,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 2, 0, 1,
     17,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 2, 0, 1,
     17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     0,
    99,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 28,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      58|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      58|128,1, 3, 1, 2, 0,
     28,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      58|128,1, 3, 1, 2, 0,
     0,
    56|128,5,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_Scope, 87,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       58|128,1, 3, 2, 0, 1,
      17,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       58|128,1, 3, 2, 0, 1,
      17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       58|128,1, 3, 2, 1, 0,
      17,
       OPC_CheckChild0Same, 0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       58|128,1, 3, 2, 1, 0,
      0,
     84|128,4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 70, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      70, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      70, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      70, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      70, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      70, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      70, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      70, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      0,
     0,
    91|128,4,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 70, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     70, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     70, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     70, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     70, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     70, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     70, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     70, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    98,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_CheckChild0Same, 1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    15|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    100|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     40|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 80,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      80,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      0,
     84,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    58|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 84,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     84,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    20|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 87,
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     87,
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    75|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    63|128,2,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 114|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 102,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_SwitchType , 9, MVT::v8i8,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                        MVT::v8i8, 3, 0, 1, 2,
       9, MVT::v16i8,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                        MVT::v16i8, 3, 0, 1, 2,
       9, MVT::v4i16,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                        MVT::v4i16, 3, 0, 1, 2,
       9, MVT::v2i32,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                        MVT::v2i32, 3, 0, 1, 2,
       9, MVT::v1i64,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                        MVT::v1i64, 3, 0, 1, 2,
       9, MVT::v8i16,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                        MVT::v8i16, 3, 0, 1, 2,
       9, MVT::v4i32,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                        MVT::v4i32, 3, 0, 1, 2,
       9, MVT::v2i64,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                        MVT::v2i64, 3, 0, 1, 2,
       0,
      88,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 61,
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 10, 42|128,1,
         OPC_CheckPatternPredicate2,
         OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 0, 2, 1,
        10, 48|128,1,
         OPC_CheckPatternPredicate2,
         OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         48|128,1, 3, 0, 2, 1,
        10, 53|128,1,
         OPC_CheckPatternPredicate2,
         OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         53|128,1, 3, 0, 2, 1,
        10, 58|128,1,
         OPC_CheckPatternPredicate2,
         OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         58|128,1, 3, 0, 2, 1,
        0,
       18,
        OPC_CheckChild0Same, 0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i8,
        OPC_CheckPatternPredicate1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                        MVT::v8i8, 3, 0, 1, 2,
       0,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v8i8, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v8i8, 3, 1, 0, 2,
      0,
     65, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 10, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       42|128,1, 3, 0, 2, 1,
      10, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       48|128,1, 3, 0, 2, 1,
      10, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       53|128,1, 3, 0, 2, 1,
      10, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                       58|128,1, 3, 0, 2, 1,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v8i8, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v8i8, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v8i8, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v8i8, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v16i8, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v16i8, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v16i8, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v16i8, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v16i8, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v16i8, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v16i8, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v4i16, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v4i16, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v4i16, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v4i16, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v4i16, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v4i16, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v4i16, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v2i32, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v2i32, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v2i32, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v2i32, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v2i32, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v2i32, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v2i32, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v1i64, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v1i64, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v1i64, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v1i64, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v1i64, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v1i64, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                       MVT::v1i64, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v8i16, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v8i16, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v8i16, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v8i16, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v8i16, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v8i16, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v8i16, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v4i32, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v4i32, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v4i32, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v4i32, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v4i32, 3, 0, 2, 1,
     0,
    3|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v4i32, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v4i32, 3, 1, 2, 0,
      0,
     79,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v2i64, 3, 0, 1, 2,
      23,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v2i64, 3, 1, 0, 2,
      23,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v2i64, 3, 1, 0, 2,
      0,
     0,
    48,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 15,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v2i64, 3, 0, 2, 1,
     15,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v2i64, 3, 0, 2, 1,
     0,
    61|128,1,
     OPC_RecordChild0,
     OPC_Scope, 47,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 15,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v2i64, 3, 1, 2, 0,
      15,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                       MVT::v2i64, 3, 1, 2, 0,
      0,
     85,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 0, 2, 1,
      25,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 1, 2, 0,
      25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 1, 2, 0,
      0,
     51,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 2, 0, 1,
      17,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 2, 0, 1,
      0,
     0,
    52,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 2, 1, 0,
     0,
    13|128,1,
     OPC_RecordChild0,
     OPC_Scope, 85,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       48|128,1, 3, 0, 2, 1,
      25,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       48|128,1, 3, 1, 2, 0,
      25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       48|128,1, 3, 1, 2, 0,
      0,
     51,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       48|128,1, 3, 2, 0, 1,
      17,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       48|128,1, 3, 2, 0, 1,
      0,
     0,
    52,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      48|128,1, 3, 2, 1, 0,
     0,
    13|128,1,
     OPC_RecordChild0,
     OPC_Scope, 85,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       53|128,1, 3, 0, 2, 1,
      25,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       53|128,1, 3, 1, 2, 0,
      25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       53|128,1, 3, 1, 2, 0,
      0,
     51,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       53|128,1, 3, 2, 0, 1,
      17,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       53|128,1, 3, 2, 0, 1,
      0,
     0,
    52,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      53|128,1, 3, 2, 1, 0,
     0,
    13|128,1,
     OPC_RecordChild0,
     OPC_Scope, 85,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       58|128,1, 3, 0, 2, 1,
      25,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       58|128,1, 3, 1, 2, 0,
      25,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       58|128,1, 3, 1, 2, 0,
      0,
     51,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 17,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       58|128,1, 3, 2, 0, 1,
      17,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       58|128,1, 3, 2, 0, 1,
      0,
     0,
    52,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 17,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      58|128,1, 3, 2, 1, 0,
     17,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      58|128,1, 3, 2, 1, 0,
     0,
    90|128,14,
     OPC_RecordChild0,
     OPC_Scope, 42|128,13,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 77|128,6, TARGET_VAL(ISD::XOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_Scope, 20,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 42|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        42|128,1, 3, 0, 2, 1,
       20,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 0,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 42|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        42|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 0,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 42|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        42|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 48|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        48|128,1, 3, 0, 2, 1,
       20,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 0,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 48|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        48|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 0,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 48|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        48|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 53|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        53|128,1, 3, 0, 2, 1,
       20,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 0,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 53|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        53|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 0,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 53|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        53|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 1,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 58|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        58|128,1, 3, 0, 2, 1,
       20,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 0,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 58|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        58|128,1, 3, 1, 2, 0,
       20,
        OPC_CheckChild0Same, 0,
        OPC_RecordChild1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, 58|128,1,
        OPC_CheckPatternPredicate2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                        58|128,1, 3, 1, 2, 0,
       73|128,4,
        OPC_RecordChild0,
        OPC_CheckChild1Same, 1,
        OPC_MoveSibling1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 70, MVT::v8i8,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v8i8, 2, 12, 13,
        70, MVT::v16i8,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v16i8, 2, 12, 13,
        70, MVT::v4i16,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v4i16, 2, 12, 13,
        70, MVT::v8i16,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v8i16, 2, 12, 13,
        70, MVT::v2i32,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i32, 2, 12, 13,
        70, MVT::v4i32,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v4i32, 2, 12, 13,
        70, MVT::v1i64,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v1i64, 2, 12, 13,
        70, MVT::v2i64,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i64, 2, 12, 13,
        0,
       0,
      81|128,6, TARGET_VAL(ISD::AND),
       OPC_Scope, 78|128,4,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 70, MVT::v8i8,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v8i8, 2, 12, 13,
        70, MVT::v16i8,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v16i8, 2, 12, 13,
        70, MVT::v4i16,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v4i16, 2, 12, 13,
        70, MVT::v8i16,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v8i16, 2, 12, 13,
        70, MVT::v2i32,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i32, 2, 12, 13,
        70, MVT::v4i32,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v4i32, 2, 12, 13,
        70, MVT::v1i64,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v1i64, 2, 12, 13,
        70, MVT::v2i64,
         OPC_CheckPatternPredicate2,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 3, 0, 4,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 6, 2, 7,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         42|128,1, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         42|128,1, 3, 9, 1, 10,
         OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                         42|128,1, 3, 5, 8, 11,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i64, 2, 12, 13,
        0,
       84,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 1,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i8,
        OPC_CheckPatternPredicate2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 3, 0, 4,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 6, 2, 7,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 9, 1, 10,
        OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                        42|128,1, 3, 5, 8, 11,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 12, 13,
       84,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i8,
        OPC_CheckPatternPredicate2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 3, 1, 4,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 6, 2, 7,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 9, 0, 10,
        OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                        42|128,1, 3, 5, 8, 11,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 12, 13,
       84,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
        OPC_CheckChild0Same, 0,
        OPC_MoveChild1,
        OPC_CheckImmAllOnesV,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i8,
        OPC_CheckPatternPredicate2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 3, 1, 4,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 6, 2, 7,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        42|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        42|128,1, 3, 9, 0, 10,
        OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                        42|128,1, 3, 5, 8, 11,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 12, 13,
       0,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    54|128,3,
     OPC_RecordChild0,
     OPC_Scope, 6|128,2,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      84,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckImmAllOnesV,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 1, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 0, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      0,
     41|128,1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 76,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      76,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 2, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 0, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      0,
     0,
    42|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 76,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     76,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    12|128,15,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_Scope, 79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    0,
   57, TARGET_VAL(AArch64ISD::VSHL),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                     MVT::v2i64, 1, 0,
    31,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 6, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v4i32, 1, 0,
     6, MVT::v2i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v2i32, 1, 0,
     0,
    0,
   57, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VSHL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                     MVT::v2i64, 1, 0,
    31,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VSHL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 6, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v4i32, 1, 0,
     6, MVT::v2i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v2i32, 1, 0,
     0,
    0,
   79|128,21, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 2, 0, 1,
    17,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 2, 0, 1,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 2, 1, 0,
    17,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 2, 1, 0,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     48|128,1, 3, 2, 0, 1,
    17,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     48|128,1, 3, 2, 0, 1,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     48|128,1, 3, 2, 1, 0,
    17,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     48|128,1, 3, 2, 1, 0,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     53|128,1, 3, 2, 0, 1,
    17,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     53|128,1, 3, 2, 0, 1,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     53|128,1, 3, 2, 1, 0,
    17,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     53|128,1, 3, 2, 1, 0,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     58|128,1, 3, 2, 0, 1,
    17,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     58|128,1, 3, 2, 0, 1,
    17,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     58|128,1, 3, 2, 1, 0,
    17,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     58|128,1, 3, 2, 1, 0,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 1,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 0, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    76,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    76,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    0,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 49,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/107, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     42|128,1, 2, 0, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     48|128,1, 2, 0, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     53|128,1, 2, 0, 2,
    0,
   17,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                    58|128,1, 2, 0, 2,
   0,
  77,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 50,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/107, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     42|128,1, 2, 1, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     48|128,1, 2, 1, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                     53|128,1, 2, 1, 2,
    0,
   18,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZI),
                    58|128,1, 2, 1, 2,
   0,
  32|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 10|128,1, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    30,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   10|128,1, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAd),
                     MVT::v1i64, 3, 0, 1, 2,
    30,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i8_shift),
                      MVT::v8i8, 3, 0, 1, 2,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv16i8_shift),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i16_shift),
                      MVT::v4i16, 3, 0, 1, 2,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i16_shift),
                      MVT::v8i16, 3, 0, 1, 2,
     0,
    30,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i32_shift),
                      MVT::v2i32, 3, 0, 1, 2,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i32_shift),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    17,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i64_shift),
                     MVT::v2i64, 3, 0, 1, 2,
    0,
   0,
  41|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 15|128,1, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    31,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   15|128,1, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAd),
                     MVT::v1i64, 3, 2, 0, 1,
    31,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i8_shift),
                      MVT::v8i8, 3, 2, 0, 1,
     9, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv16i8_shift),
                      MVT::v16i8, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i16_shift),
                      MVT::v4i16, 3, 2, 0, 1,
     9, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv8i16_shift),
                      MVT::v8i16, 3, 2, 0, 1,
     0,
    31,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_SwitchType , 9, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i32_shift),
                      MVT::v2i32, 3, 2, 0, 1,
     9, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv4i32_shift),
                      MVT::v4i32, 3, 2, 0, 1,
     0,
    18,
     OPC_CheckPredicate, 25,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 33,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USRAv2i64_shift),
                     MVT::v2i64, 3, 2, 0, 1,
    0,
   0,
  16|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v1i64, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v2i64, 2, 0, 1,
   10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 0, 1, 0,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    48|128,1, 3, 0, 1, 0,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    53|128,1, 3, 0, 1, 0,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    58|128,1, 3, 0, 1, 0,
   0,
  16|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v8i8, 2, 1, 0,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v16i8, 2, 1, 0,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v4i16, 2, 1, 0,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v2i32, 2, 1, 0,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv8i8),
                    MVT::v1i64, 2, 1, 0,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v8i16, 2, 1, 0,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v4i32, 2, 1, 0,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNv16i8),
                    MVT::v2i64, 2, 1, 0,
   10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 1, 0, 1,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    48|128,1, 3, 1, 0, 1,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    53|128,1, 3, 1, 0, 1,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    58|128,1, 3, 1, 0, 1,
   0,
  76|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 70, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 11, 12,
   70, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 11, 12,
   70, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 11, 12,
   70, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 11, 12,
   70, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 11, 12,
   70, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 11, 12,
   70, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 11, 12,
   70, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 11, 12,
   0,
  76|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 70, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 11, 12,
   70, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 11, 12,
   70, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 11, 12,
   70, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 11, 12,
   70, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 11, 12,
   70, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 11, 12,
   70, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 11, 12,
   70, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 11, 12,
   0,
  69|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv8i8),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv8i8),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv8i8),
                    MVT::v1i64, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv16i8),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv16i8),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv16i8),
                    MVT::v2i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZZZ),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZZZ),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZZZ),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZZZ),
                    58|128,1, 2, 0, 1,
   10, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                    35|128,1, 3, 0, 0, 1,
   10, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                    34|128,1, 3, 0, 0, 1,
   10, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                    33|128,1, 3, 0, 0, 1,
   10, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                    32|128,1, 3, 0, 0, 1,
   10, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                    31|128,1, 3, 0, 0, 1,
   0,
  0,
 19|128,39|128,2, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 57,
   OPC_CheckChild1Integer, 34|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_B),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_B),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  55,
   OPC_CheckChild1Integer, 38|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 23,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_H),
                    6, 7, 8, 9, 1, 5, 6,
   23,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_H),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 42|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_S),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_S),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 36|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_D),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_D),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 40|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/114, /*#*/2,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_Q),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_H_Q),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 35|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_B),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_B),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  55,
   OPC_CheckChild1Integer, 39|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 23,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_H),
                    6, 7, 8, 9, 1, 5, 6,
   23,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_H),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 43|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_S),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_S),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 37|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_D),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_D),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  57,
   OPC_CheckChild1Integer, 41|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/114, /*#*/2,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_Q),
                    6, 7, 8, 9, 1, 5, 6,
   24,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1_MXIPXX_V_Q),
                    6, 5, 6, 7, 1, 2, 8,
   0,
  65,
   OPC_CheckChild1Integer, 20|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_B),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_B),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  63,
   OPC_CheckChild1Integer, 24|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 27,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_H),
                    6, 3, 7, 8, 1, 5, 6,
   27,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_H),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 28|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_S),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_S),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 22|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_D),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_D),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 26|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/114, /*#*/2,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_Q),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_H_PSEUDO_Q),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 21|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_B),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/57, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_B),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  63,
   OPC_CheckChild1Integer, 25|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 27,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_H),
                    6, 3, 7, 8, 1, 5, 6,
   27,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat3, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_H),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 29|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_S),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/47, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_S),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 23|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_D),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/48, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_D),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  65,
   OPC_CheckChild1Integer, 27|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 28,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/114, /*#*/2,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_Q),
                    6, 3, 7, 8, 1, 5, 6,
   28,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/18, /*#*/4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LD1_MXIPXX_V_PSEUDO_Q),
                    6, 3, 5, 6, 1, 2, 7,
   0,
  18|128,2,
   OPC_CheckChild1Integer, 23|128,13,
   OPC_RecordChild2,
   OPC_Scope, 66,
    OPC_CheckChild2Type, 35|128,1,
    OPC_RecordChild3,
    OPC_Scope, 37,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/115, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_PRI),
                      4, 3, 1, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_PRR),
                      4, 3, 1, 4, 5,
     0,
    21,
     OPC_CheckChild3TypeI64,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_PRI),
                     4, 3, 1, 2, 4,
    0,
   66,
    OPC_CheckChild2Type, 34|128,1,
    OPC_RecordChild3,
    OPC_Scope, 37,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/115, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_PRI),
                      4, 3, 1, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_PRR),
                      4, 3, 1, 4, 5,
     0,
    21,
     OPC_CheckChild3TypeI64,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_PRI),
                     4, 3, 1, 2, 4,
    0,
   66,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_Scope, 37,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/115, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_PRI),
                      4, 3, 1, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_PRR),
                      4, 3, 1, 4, 5,
     0,
    21,
     OPC_CheckChild3TypeI64,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_PRI),
                     4, 3, 1, 2, 4,
    0,
   66,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_Scope, 37,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/115, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_PRI),
                      4, 3, 1, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_PRR),
                      4, 3, 1, 4, 5,
     0,
    21,
     OPC_CheckChild3TypeI64,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 37,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_PRI),
                     4, 3, 1, 2, 4,
    0,
   0,
  76|128,1,
   OPC_CheckChild1Integer, 81|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 27,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/57, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_B),
                    5, 1, 5, 6, 3, 4,
   65,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 17,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    17,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    17,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    0,
   49,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_S),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_S),
                     5, 1, 5, 6, 3, 4,
    0,
   49,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_D),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_D),
                     5, 1, 5, 6, 3, 4,
    0,
   0,
  64|128,1,
   OPC_CheckChild1Integer, 89|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 114,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 22,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                    5, 1, 5, 6, 3, 4,
   63,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   44,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   44,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_H_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   0,
  76|128,1,
   OPC_CheckChild1Integer, 85|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 27,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/57, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_B),
                    5, 1, 5, 6, 3, 4,
   65,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 17,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    17,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    17,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_H),
                     5, 1, 5, 6, 3, 4,
    0,
   49,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_S),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_S),
                     5, 1, 5, 6, 3, 4,
    0,
   49,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_D),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_D),
                     5, 1, 5, 6, 3, 4,
    0,
   0,
  64|128,1,
   OPC_CheckChild1Integer, 90|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 114,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 22,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                    5, 1, 5, 6, 3, 4,
   63,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   44,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   44,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_Scope, 18,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    18,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::INSERT_MXIPZ_V_PSEUDO_Q),
                     5, 1, 5, 6, 3, 4,
    0,
   0,
  67,
   OPC_CheckChild1Integer, 76|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 29,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_MZZI_HtoS_PSEUDO),
                    5, 5, 6, 2, 3, 4,
   29,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_MZZI_HtoS_PSEUDO),
                    5, 5, 6, 2, 3, 4,
   0,
  67,
   OPC_CheckChild1Integer, 90|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 29,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_MZZI_HtoS_PSEUDO),
                    5, 5, 6, 2, 3, 4,
   29,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_MZZI_HtoS_PSEUDO),
                    5, 5, 6, 2, 3, 4,
   0,
  34,
   OPC_CheckChild1Integer, 110|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_MZZI_HtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 6|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_MZZI_HtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 117|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_MZZI_HtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 13|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_MZZI_HtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 94|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 47|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 118|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 101|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 61|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMLALL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  35,
   OPC_CheckChild1Integer, 125|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 102|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_MZZI_HtoD_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 126|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_MZZI_HtoD_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 109|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_MZZI_HtoD_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  34,
   OPC_CheckChild1Integer, 5|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_MZZI_HtoD_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  29,
   OPC_CheckChild1Integer, 110|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_MZZI_BtoH_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  29,
   OPC_CheckChild1Integer, 118|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_MZZI_BtoS_PSEUDO),
                   5, 5, 6, 2, 3, 4,
  84|128,1,
   OPC_CheckChild1Integer, 70|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZI_S_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   51,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZI_D_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZI_H_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG2_M2ZZI_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  24|128,2,
   OPC_CheckChild1Integer, 71|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZI_S_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   68,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZI_D_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZI_H_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG4_M4ZZI_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  84|128,1,
   OPC_CheckChild1Integer, 84|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZI_S_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   51,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZI_D_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZI_H_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG2_M2ZZI_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  24|128,2,
   OPC_CheckChild1Integer, 85|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZI_S_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   68,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZI_D_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZI_H_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG4_M4ZZI_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  111,
   OPC_CheckChild1Integer, 77|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 51,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   51,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  17|128,1,
   OPC_CheckChild1Integer, 78|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 68,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   68,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  111,
   OPC_CheckChild1Integer, 91|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 51,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   51,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  17|128,1,
   OPC_CheckChild1Integer, 92|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 68,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   68,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  56,
   OPC_CheckChild1Integer, 111|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG2_M2ZZI_S_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 112|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG4_M4ZZI_HtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 7|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG2_M2ZZI_S_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 8|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG4_M4ZZI_HtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 118|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG2_M2ZZI_S_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 119|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG4_M4ZZI_HtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 14|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG2_M2ZZI_S_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 15|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG4_M4ZZI_HtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  109,
   OPC_CheckChild1Integer, 64|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  15|128,1,
   OPC_CheckChild1Integer, 65|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG4_M4ZZI_HtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  109,
   OPC_CheckChild1Integer, 17|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFVDOT_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FVDOT_VG2_M2ZZI_HtoS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  109,
   OPC_CheckChild1Integer, 81|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZI_HToS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZI_BToS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  15|128,1,
   OPC_CheckChild1Integer, 82|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZI_HToS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZI_BToS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  55,
   OPC_CheckChild1Integer, 57|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUDOT_VG2_M2ZZI_BToS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  72,
   OPC_CheckChild1Integer, 58|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUDOT_VG4_M4ZZI_BToS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  55,
   OPC_CheckChild1Integer, 86|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SVDOT_VG2_M2ZZI_HtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  72,
   OPC_CheckChild1Integer, 87|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SVDOT_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  72,
   OPC_CheckChild1Integer, 85|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUVDOT_VG4_M4ZZI_BToS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  109,
   OPC_CheckChild1Integer, 89|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZI_HToS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZI_BToS_PSEUDO),
                    5, 6, 7, 11, 4, 5,
   0,
  15|128,1,
   OPC_CheckChild1Integer, 90|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZI_BtoS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   67,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_MoveChild, 8,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZI_HToS_PSEUDO),
                    5, 8, 9, 15, 6, 7,
   0,
  55,
   OPC_CheckChild1Integer, 41|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG2_M2ZZI_BToS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  72,
   OPC_CheckChild1Integer, 42|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG4_M4ZZI_BToS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  72,
   OPC_CheckChild1Integer, 74|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USVDOT_VG4_M4ZZI_BToS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  55,
   OPC_CheckChild1Integer, 76|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UVDOT_VG2_M2ZZI_HtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  72,
   OPC_CheckChild1Integer, 77|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UVDOT_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 95|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 96|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 48|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 49|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 119|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 120|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 102|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 103|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 62|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMLALL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 63|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMLALL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  57,
   OPC_CheckChild1Integer, 126|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  74,
   OPC_CheckChild1Integer, 127|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  103|128,2,
   OPC_CheckChild1Integer, 79|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 44,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 3, 8, 4, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_B_PSEUDO),
                    4, 1, 5, 6, 10,
   127,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 48|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_H_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_H_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_H_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   87,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 53|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/109, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_S_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 77|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/109, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_S_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   87,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 58|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/116, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_D_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 81|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/116, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_H_D_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   0,
  103|128,2,
   OPC_CheckChild1Integer, 83|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 44,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 3, 8, 4, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_B_PSEUDO),
                    4, 1, 5, 6, 10,
   127,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 48|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 48|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_H_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_H_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_H_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   87,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 53|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 53|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/109, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_S_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 77|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 77|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/109, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_S_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   87,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 39,
     OPC_CheckChild4Type, 58|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 58|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/116, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_D_PSEUDO),
                     4, 1, 5, 6, 10,
    39,
     OPC_CheckChild4Type, 81|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 81|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/116, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 7, 3, 8, 4, 9,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI2Z_V_D_PSEUDO),
                     4, 1, 5, 6, 10,
    0,
   0,
  104|128,3,
   OPC_CheckChild1Integer, 80|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 60,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/46, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_B_PSEUDO),
                    4, 1, 7, 8, 14,
   47|128,1,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 48|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 48|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 48|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 48|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_H_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 66|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_H_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 72|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_H_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   119,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 53|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 53|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 53|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 53|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_S_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 77|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 77|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 77|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 77|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_S_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   119,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 58|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 58|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 58|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 58|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_D_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 81|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 81|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 81|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 81|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_H_D_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   0,
  104|128,3,
   OPC_CheckChild1Integer, 84|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 60,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/46, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_B_PSEUDO),
                    4, 1, 7, 8, 14,
   47|128,1,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 48|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 48|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 48|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 48|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_H_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 66|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_H_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 72|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_H_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   119,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 53|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 53|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 53|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 53|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_S_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 77|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 77|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 77|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 77|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_S_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   119,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_Scope, 55,
     OPC_CheckChild4Type, 58|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 58|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 58|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 58|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_D_PSEUDO),
                     4, 1, 7, 8, 14,
    55,
     OPC_CheckChild4Type, 81|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 81|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 81|128,1,
     OPC_RecordChild7,
     OPC_CheckChild7Type, 81|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat, /*CP*/64, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 71|128,2,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitIntegerI32, AArch64::zsub2,
     OPC_EmitIntegerI32, AArch64::zsub3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 9, 9, 3, 10, 4, 11, 5, 12, 6, 13,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_MXI4Z_V_D_PSEUDO),
                     4, 1, 7, 8, 14,
    0,
   0,
  56,
   OPC_CheckChild1Integer, 83|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 84|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  73,
   OPC_CheckChild1Integer, 88|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SVDOT_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 91|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 92|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  73,
   OPC_CheckChild1Integer, 78|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UVDOT_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 103|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 104|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 127|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 0|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 110|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 111|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  56,
   OPC_CheckChild1Integer, 6|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2ZZI_HtoD_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  73,
   OPC_CheckChild1Integer, 7|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4ZZI_HtoD_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  46,
   OPC_CheckChild1Integer, 8|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FVDOT_VG2_M2ZZI_BtoH_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  46,
   OPC_CheckChild1Integer, 98|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZI_BtoH_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  57,
   OPC_CheckChild1Integer, 99|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZI_BtoH_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  48,
   OPC_CheckChild1Integer, 111|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2ZZI_BtoH_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  59,
   OPC_CheckChild1Integer, 112|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4ZZI_BtoH_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  46,
   OPC_CheckChild1Integer, 100|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  57,
   OPC_CheckChild1Integer, 101|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  46,
   OPC_CheckChild1Integer, 9|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FVDOTB_VG4_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  46,
   OPC_CheckChild1Integer, 10|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FVDOTT_VG4_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  48,
   OPC_CheckChild1Integer, 119|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG2_M2ZZI_BtoS_PSEUDO),
                   5, 6, 7, 11, 4, 5,
  59,
   OPC_CheckChild1Integer, 120|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 10, 2, 11, 3, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG4_M4ZZI_BtoS_PSEUDO),
                   5, 8, 9, 15, 6, 7,
  100,
   OPC_CheckChild1Integer, 23|128,15,
   OPC_RecordChild2,
   OPC_Scope, 46,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 11,
     OPC_CheckComplexPat5, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q_IMM),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckChild4TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q_IMM),
                     4, 1, 2, 3, 4,
    0,
   46,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 11,
     OPC_CheckComplexPat5, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q_IMM),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckChild4TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_Q_IMM),
                     4, 1, 2, 3, 4,
    0,
   0,
  100,
   OPC_CheckChild1Integer, 19|128,15,
   OPC_RecordChild2,
   OPC_Scope, 46,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 11,
     OPC_CheckComplexPat5, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q_IMM),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckComplexPat, /*CP*/33, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckChild4TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q_IMM),
                     4, 1, 2, 3, 4,
    0,
   46,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 11,
     OPC_CheckComplexPat5, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q_IMM),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckComplexPat, /*CP*/33, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q),
                     4, 1, 2, 4, 5,
    12,
     OPC_CheckChild4TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_Q_IMM),
                     4, 1, 2, 3, 4,
    0,
   0,
  79|128,1,
   OPC_CheckChild1Integer, 82|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 24,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   24,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 4, 3, 2,
   0,
  19,
   OPC_CheckChild1Integer, 107|128,9,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/110, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STGi),
                   3, 1, 3, 4,
  20,
   OPC_CheckChild1Integer, 108|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/127, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STGPi),
                   4, 2, 3, 4, 5,
  51,
   OPC_CheckChild1Integer, 79|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 21,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_MZZ_HtoS_PSEUDO),
                    4, 4, 5, 2, 3,
   21,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_MZZ_HtoS_PSEUDO),
                    4, 4, 5, 2, 3,
   0,
  51,
   OPC_CheckChild1Integer, 93|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 21,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_MZZ_HtoS_PSEUDO),
                    4, 4, 5, 2, 3,
   21,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/50, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_MZZ_HtoS_PSEUDO),
                    4, 4, 5, 2, 3,
   0,
  26,
   OPC_CheckChild1Integer, 113|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_MZZ_HtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 9|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_MZZ_HtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 120|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_MZZ_HtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 16|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_MZZ_HtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 97|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 50|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 121|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 104|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 0|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 105|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_MZZ_HtoD_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 1|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_MZZ_HtoD_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 112|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_MZZ_HtoD_PSEUDO),
                   4, 4, 5, 2, 3,
  26,
   OPC_CheckChild1Integer, 8|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_MZZ_HtoD_PSEUDO),
                   4, 4, 5, 2, 3,
  15,
   OPC_CheckChild1Integer, 94|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG2_Z_PSEUDO),
                   2, 2, 3,
  15,
   OPC_CheckChild1Integer, 95|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG4_Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 96|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_2Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 97|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/109, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG2_2Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 98|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/109, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG4_2Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 99|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_4Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 100|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/64, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG2_4Z_PSEUDO),
                   2, 2, 3,
  16,
   OPC_CheckChild1Integer, 101|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 30,
   OPC_CheckComplexPat, /*CP*/64, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_MXI_VG4_4Z_PSEUDO),
                   2, 2, 3,
  20,
   OPC_CheckChild1Integer, 117|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/50, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_MZZ_BtoH_PSEUDO),
                   4, 4, 5, 2, 3,
  20,
   OPC_CheckChild1Integer, 125|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/46, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_MZZ_BtoS_PSEUDO),
                   4, 4, 5, 2, 3,
  93,
   OPC_CheckChild1Integer, 45|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2ZZ_S_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2ZZ_D_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  125,
   OPC_CheckChild1Integer, 46|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4ZZ_S_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4ZZ_D_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  93,
   OPC_CheckChild1Integer, 47|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2ZZ_S_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2ZZ_D_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  125,
   OPC_CheckChild1Integer, 48|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4ZZ_S_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4ZZ_D_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  51|128,1,
   OPC_CheckChild1Integer, 72|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZ_S_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZ_D_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2ZZ_H_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG2_M2ZZ_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  115|128,1,
   OPC_CheckChild1Integer, 73|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZ_S_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZ_D_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4ZZ_H_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG4_M4ZZ_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  51|128,1,
   OPC_CheckChild1Integer, 86|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZ_S_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZ_D_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2ZZ_H_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG2_M2ZZ_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  115|128,1,
   OPC_CheckChild1Integer, 87|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZ_S_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZ_D_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4ZZ_H_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG4_M4ZZ_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  83,
   OPC_CheckChild1Integer, 51|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2Z_S_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG2_M2Z_S_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 52|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4Z_S_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG4_M4Z_S_PSEUDO),
                    3, 6, 7, 13,
   0,
  83,
   OPC_CheckChild1Integer, 53|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2Z_S_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG2_M2Z_S_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 54|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4Z_S_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG4_M4Z_S_PSEUDO),
                    3, 6, 7, 13,
   0,
  95,
   OPC_CheckChild1Integer, 80|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 43,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   43,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  127,
   OPC_CheckChild1Integer, 81|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 59,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   59,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  95,
   OPC_CheckChild1Integer, 94|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 43,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   43,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  127,
   OPC_CheckChild1Integer, 95|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 59,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   59,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  48,
   OPC_CheckChild1Integer, 114|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG2_M2ZZ_HtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 115|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG4_M4ZZ_HtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 10|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG2_M2ZZ_HtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 11|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG4_M4ZZ_HtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 121|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG2_M2ZZ_HtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 122|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG4_M4ZZ_HtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 17|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG2_M2ZZ_HtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 18|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG4_M4ZZ_HtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  93,
   OPC_CheckChild1Integer, 66|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  125,
   OPC_CheckChild1Integer, 67|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  93,
   OPC_CheckChild1Integer, 85|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZ_BtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  125,
   OPC_CheckChild1Integer, 86|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZ_BtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  47,
   OPC_CheckChild1Integer, 59|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUDOT_VG2_M2ZZ_BToS_PSEUDO),
                   4, 5, 6, 10, 4,
  63,
   OPC_CheckChild1Integer, 60|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUDOT_VG4_M4ZZ_BToS_PSEUDO),
                   4, 7, 8, 14, 6,
  93,
   OPC_CheckChild1Integer, 93|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 42,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZ_HtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   42,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZ_BtoS_PSEUDO),
                    4, 5, 6, 10, 4,
   0,
  125,
   OPC_CheckChild1Integer, 94|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 58,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZ_HtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   58,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 41|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZ_BtoS_PSEUDO),
                    4, 7, 8, 14, 6,
   0,
  47,
   OPC_CheckChild1Integer, 43|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG2_M2ZZ_BToS_PSEUDO),
                   4, 5, 6, 10, 4,
  63,
   OPC_CheckChild1Integer, 44|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG4_M4ZZ_BToS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 98|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 99|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 51|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 52|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 122|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 123|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 105|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 106|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 64|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMLALL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 65|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMLALL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 1|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 2|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  55|128,2,
   OPC_CheckChild1Integer, 86|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG2_MXI2Z_PSEUDO),
                    3, 4, 5, 9,
   0,
  55|128,3,
   OPC_CheckChild1Integer, 87|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVA_VG4_MXI4Z_PSEUDO),
                    3, 6, 7, 13,
   0,
  83,
   OPC_CheckChild1Integer, 53|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2Z_D_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG2_M2Z_D_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 54|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4Z_D_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG4_M4Z_D_PSEUDO),
                    3, 6, 7, 13,
   0,
  83,
   OPC_CheckChild1Integer, 55|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2Z_D_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG2_M2Z_D_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 56|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4Z_D_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG4_M4Z_D_PSEUDO),
                    3, 6, 7, 13,
   0,
  47,
   OPC_CheckChild1Integer, 87|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  63,
   OPC_CheckChild1Integer, 88|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  47,
   OPC_CheckChild1Integer, 95|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  63,
   OPC_CheckChild1Integer, 96|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 106|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 107|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 2|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 3|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 113|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 114|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  48,
   OPC_CheckChild1Integer, 9|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2ZZ_HtoD_PSEUDO),
                   4, 5, 6, 10, 4,
  64,
   OPC_CheckChild1Integer, 10|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4ZZ_HtoD_PSEUDO),
                   4, 7, 8, 14, 6,
  83,
   OPC_CheckChild1Integer, 49|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 96,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG2_M2Z_H_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFADD_VG2_M2Z_H_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 50|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 96,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FADD_VG4_M4Z_H_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFADD_VG4_M4Z_H_PSEUDO),
                    3, 6, 7, 13,
   0,
  83,
   OPC_CheckChild1Integer, 51|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 96,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG2_M2Z_H_PSEUDO),
                    3, 4, 5, 9,
   37,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFSUB_VG2_M2Z_H_PSEUDO),
                    3, 4, 5, 9,
   0,
  115,
   OPC_CheckChild1Integer, 52|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 53,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 96,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FSUB_VG4_M4Z_H_PSEUDO),
                    3, 6, 7, 13,
   53,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 8, 2, 9, 3, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFSUB_VG4_M4Z_H_PSEUDO),
                    3, 6, 7, 13,
   0,
  38,
   OPC_CheckChild1Integer, 106|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZ_BtoH_PSEUDO),
                   4, 5, 6, 10, 4,
  48,
   OPC_CheckChild1Integer, 107|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZ_BtoH_PSEUDO),
                   4, 7, 8, 14, 6,
  39,
   OPC_CheckChild1Integer, 115|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2ZZ_BtoH_PSEUDO),
                   4, 5, 6, 10, 4,
  49,
   OPC_CheckChild1Integer, 116|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4ZZ_BtoH_PSEUDO),
                   4, 7, 8, 14, 6,
  38,
   OPC_CheckChild1Integer, 108|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  48,
   OPC_CheckChild1Integer, 109|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  39,
   OPC_CheckChild1Integer, 123|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG2_M2ZZ_BtoS_PSEUDO),
                   4, 5, 6, 10, 4,
  49,
   OPC_CheckChild1Integer, 124|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 41|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 9, 2, 10, 3, 11, 4, 12, 5, 13,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG4_M4ZZ_BtoS_PSEUDO),
                   4, 7, 8, 14, 6,
  9|128,1,
   OPC_CheckChild1Integer, 47|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2Z2Z_S_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG2_M2Z2Z_D_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  87|128,1,
   OPC_CheckChild1Integer, 48|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 53|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4Z4Z_S_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 58|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADD_VG4_M4Z4Z_D_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  9|128,1,
   OPC_CheckChild1Integer, 49|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2Z2Z_S_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG2_M2Z2Z_D_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  87|128,1,
   OPC_CheckChild1Integer, 50|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 53|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 53|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4Z4Z_S_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 58|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 58|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 25,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUB_VG4_M4Z4Z_D_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  11|128,2,
   OPC_CheckChild1Integer, 74|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2Z2Z_S_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2Z2Z_D_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG2_M2Z2Z_H_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG2_M2Z2Z_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  39|128,3,
   OPC_CheckChild1Integer, 75|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4Z4Z_S_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4Z4Z_D_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLA_VG4_M4Z4Z_H_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLA_VG4_M4Z4Z_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  11|128,2,
   OPC_CheckChild1Integer, 88|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2Z2Z_S_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2Z2Z_D_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG2_M2Z2Z_H_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG2_M2Z2Z_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  39|128,3,
   OPC_CheckChild1Integer, 89|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 77|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4Z4Z_S_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 81|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4Z4Z_D_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 59,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLS_VG4_M4Z4Z_H_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLS_VG4_M4Z4Z_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  11|128,1,
   OPC_CheckChild1Integer, 82|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 65,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   65,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  89|128,1,
   OPC_CheckChild1Integer, 83|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 104,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   104,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLAL_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  11|128,1,
   OPC_CheckChild1Integer, 96|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 65,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   65,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  89|128,1,
   OPC_CheckChild1Integer, 97|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 104,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLSL_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   104,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMLSL_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  70,
   OPC_CheckChild1Integer, 116|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG2_M2Z2Z_HtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 117|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLAL_VG4_M4Z4Z_HtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 12|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG2_M2Z2Z_HtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 13|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSL_VG4_M4Z4Z_HtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 123|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG2_M2Z2Z_HtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 124|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLAL_VG4_M4Z4Z_HtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 19|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG2_M2Z2Z_HtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 20|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSL_VG4_M4Z4Z_HtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  9|128,1,
   OPC_CheckChild1Integer, 68|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  87|128,1,
   OPC_CheckChild1Integer, 69|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 66|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 72|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFDOT_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  9|128,1,
   OPC_CheckChild1Integer, 89|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2Z2Z_BtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  87|128,1,
   OPC_CheckChild1Integer, 90|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4Z4Z_BtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  9|128,1,
   OPC_CheckChild1Integer, 97|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 64,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2Z2Z_HtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   64,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 8, 2, 9, 3, 10,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 12, 4, 13, 5, 14,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2Z2Z_BtoS_PSEUDO),
                    4, 6, 7, 11, 15,
   0,
  87|128,1,
   OPC_CheckChild1Integer, 98|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 103,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 48|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4Z4Z_HtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   103,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_RecordChild7,
    OPC_CheckChild7Type, 42|128,1,
    OPC_MoveChild, 8,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveSibling, 9,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveSibling, 10,
    OPC_RecordNode,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4Z4Z_BtoS_PSEUDO),
                    4, 10, 11, 17, 23,
   0,
  69,
   OPC_CheckChild1Integer, 45|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG2_M2Z2Z_BToS_PSEUDO),
                   4, 6, 7, 11, 15,
  108,
   OPC_CheckChild1Integer, 46|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USDOT_VG4_M4Z4Z_BToS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 100|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 101|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 53|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 54|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMLALL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 124|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 125|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 107|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 108|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 3|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 4|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 42|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 8,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  69,
   OPC_CheckChild1Integer, 91|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  108,
   OPC_CheckChild1Integer, 92|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SDOT_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  69,
   OPC_CheckChild1Integer, 99|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  108,
   OPC_CheckChild1Integer, 100|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UDOT_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 108|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 109|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLALL_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 4|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 5|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMLSLL_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 115|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 116|128,8,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLALL_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  70,
   OPC_CheckChild1Integer, 11|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG2_M2Z2Z_HtoD_PSEUDO),
                   4, 6, 7, 11, 15,
  109,
   OPC_CheckChild1Integer, 12|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_RecordChild7,
   OPC_CheckChild7Type, 48|128,1,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_CheckType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMLSLL_VG4_M4Z4Z_HtoD_PSEUDO),
                   4, 10, 11, 17, 23,
  57,
   OPC_CheckChild1Integer, 102|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2Z2Z_BtoH_PSEUDO),
                   4, 6, 7, 11, 15,
  84,
   OPC_CheckChild1Integer, 103|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4Z4Z_BtoH_PSEUDO),
                   4, 10, 11, 17, 23,
  58,
   OPC_CheckChild1Integer, 113|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG2_M2Z2Z_BtoH_PSEUDO),
                   4, 6, 7, 11, 15,
  85,
   OPC_CheckChild1Integer, 114|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 53,
   OPC_CheckComplexPat, /*CP*/15, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLAL_VG4_M4Z4Z_BtoH_PSEUDO),
                   4, 10, 11, 17, 23,
  57,
   OPC_CheckChild1Integer, 104|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  84,
   OPC_CheckChild1Integer, 105|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FDOT_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  58,
   OPC_CheckChild1Integer, 121|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 8, 2, 9, 3, 10,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 12, 4, 13, 5, 14,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG2_M2Z2Z_BtoS_PSEUDO),
                   4, 6, 7, 11, 15,
  85,
   OPC_CheckChild1Integer, 122|128,6,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 51,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 12, 2, 13, 3, 14, 4, 15, 5, 16,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 18, 6, 19, 7, 20, 8, 21, 9, 22,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMLALL_VG4_M4Z4Z_BtoS_PSEUDO),
                   4, 10, 11, 17, 23,
  74,
   OPC_CheckChild1Integer, 25|128,13,
   OPC_RecordChild2,
   OPC_Scope, 33,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_S_PZI),
                    4, 4, 1, 2, 5,
   33,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_D_PZI),
                    4, 4, 1, 2, 5,
   0,
  80,
   OPC_CheckChild1Integer, 33|128,13,
   OPC_RecordChild2,
   OPC_Scope, 36,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 54,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_S_PZI),
                    4, 4, 1, 2, 6,
   36,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 54,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_D_PZI),
                    4, 4, 1, 2, 6,
   0,
  80,
   OPC_CheckChild1Integer, 37|128,13,
   OPC_RecordChild2,
   OPC_Scope, 36,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 66,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_S_PZI),
                    4, 4, 1, 2, 6,
   36,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 66,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_D_PZI),
                    4, 4, 1, 2, 6,
   0,
  80,
   OPC_CheckChild1Integer, 29|128,13,
   OPC_RecordChild2,
   OPC_Scope, 36,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 97,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 11, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_S_PZI),
                    4, 4, 1, 2, 6,
   36,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 97,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 11, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_D_PZI),
                    4, 4, 1, 2, 6,
   0,
  116,
   OPC_CheckChild1Integer, 44|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STMOPA_M2ZZZI_BtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STMOPA_M2ZZZI_HtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   0,
  116,
   OPC_CheckChild1Integer, 75|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UTMOPA_M2ZZZI_BtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UTMOPA_M2ZZZI_HtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   0,
  62,
   OPC_CheckChild1Integer, 84|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild7,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 75,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUTMOPA_M2ZZZI_BtoS_PSEUDO),
                   5, 1, 10, 4, 5, 6,
  62,
   OPC_CheckChild1Integer, 73|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild7,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 75,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 7, 2, 8, 3, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USTMOPA_M2ZZZI_BtoS_PSEUDO),
                   5, 1, 10, 4, 5, 6,
  90|128,1,
   OPC_CheckChild1Integer, 16|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FTMOPA_M2ZZZI_HtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FTMOPA_M2ZZZI_StoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFTMOPA_M2ZZZI_HtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 130,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FTMOPA_M2ZZZI_BtoS_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   0,
  39|128,1,
   OPC_CheckChild1Integer, 15|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 50,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 131,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FTMOPA_M2ZZZI_HtoH_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 132,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFTMOPA_M2ZZZI_HtoH_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   50,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 133,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 7, 2, 8, 3, 9,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FTMOPA_M2ZZZI_BtoH_PSEUDO),
                    5, 1, 10, 4, 5, 6,
   0,
  25,
   OPC_CheckChild1Integer, 71|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS_FIXEDSHADOW),
                   MVT::i64, 3, 1, 2, 3,
  25,
   OPC_CheckChild1Integer, 73|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS_SHORTGRANULES_FIXEDSHADOW),
                   MVT::i64, 3, 1, 2, 3,
  15,
   OPC_CheckChild1Integer, 102|128,9,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 108,
   OPC_CheckComplexPat, /*CP*/34, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_T_PSEUDO),
                   1, 2,
  31|128,1,
   OPC_CheckChild1Integer, 88|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 18,
    OPC_CheckChild3Type, 42|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 48|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 53|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 58|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 77|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 81|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   18,
    OPC_CheckChild3Type, 72|128,1,
    OPC_CheckPatternPredicate, 55,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MOVT_TIZ_PSEUDO),
                    3, 3, 4, 2,
   0,
  18,
   OPC_CheckChild1Integer, 68|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::HINT),
                   1, 2,
  18,
   OPC_CheckChild1Integer, 56|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 87,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::DMB),
                   1, 2,
  18,
   OPC_CheckChild1Integer, 57|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 87,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::DSB),
                   1, 2,
  18,
   OPC_CheckChild1Integer, 72|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 87,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ISB),
                   1, 2,
  17,
   OPC_CheckChild1Integer, 10|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 147,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BRK),
                   1, 1,
  17,
   OPC_CheckChild1Integer, 69|128,4,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 147,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::HLT),
                   1, 1,
  62,
   OPC_CheckChild1Integer, 27|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_S_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_D_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 26|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_S_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_D_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 35|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_S_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_D_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 34|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_S_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_D_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 39|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_S_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_D_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 38|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_S_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_D_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 31|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_S_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_D_UXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  62,
   OPC_CheckChild1Integer, 30|128,13,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, 33|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_S_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   27,
    OPC_CheckChild2Type, 32|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_D_SXTW_SCALED),
                    4, 4, 1, 2, 3,
   0,
  31,
   OPC_CheckChild1Integer, 24|128,13,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 37,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFB_D_SCALED),
                   4, 4, 1, 2, 3,
  31,
   OPC_CheckChild1Integer, 32|128,13,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 37,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFH_D_SCALED),
                   4, 4, 1, 2, 3,
  31,
   OPC_CheckChild1Integer, 36|128,13,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 37,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFW_D_SCALED),
                   4, 4, 1, 2, 3,
  31,
   OPC_CheckChild1Integer, 28|128,13,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 37,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFD_D_SCALED),
                   4, 4, 1, 2, 3,
  64,
   OPC_CheckChild1Integer, 55|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 26,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADDHA_MPPZ_S_PSEUDO_S),
                    4, 1, 2, 3, 4,
   26,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADDHA_MPPZ_D_PSEUDO_D),
                    4, 1, 2, 3, 4,
   0,
  64,
   OPC_CheckChild1Integer, 56|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 26,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADDVA_MPPZ_S_PSEUDO_S),
                    4, 1, 2, 3, 4,
   26,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ADDVA_MPPZ_D_PSEUDO_D),
                    4, 1, 2, 3, 4,
   0,
  62,
   OPC_CheckChild1Integer, 57|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_Scope, 19,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOPA_MPPZZ_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   19,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPAL_MPPZZ_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  62,
   OPC_CheckChild1Integer, 60|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_Scope, 19,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOPS_MPPZZ_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   19,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPSL_MPPZZ_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  1|128,1,
   OPC_CheckChild1Integer, 55|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPA_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 113,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPA_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   54,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 19,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_CheckPatternPredicate, 59,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPA_MPPZZ_H_PSEUDO),
                     5, 1, 2, 3, 4, 5,
    19,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_CheckPatternPredicate, 49,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOPA_MPPZZ_H_PSEUDO),
                     5, 1, 2, 3, 4, 5,
    0,
   0,
  1|128,1,
   OPC_CheckChild1Integer, 58|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPS_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 113,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPS_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   54,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_Scope, 19,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_CheckPatternPredicate, 59,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPS_MPPZZ_H_PSEUDO),
                     5, 1, 2, 3, 4, 5,
    19,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_CheckPatternPredicate, 49,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOPS_MPPZZ_H_PSEUDO),
                     5, 1, 2, 3, 4, 5,
    0,
   0,
  74,
   OPC_CheckChild1Integer, 30|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPA_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPA_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 32|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPS_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPS_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 37|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPA_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPA_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 39|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPS_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPS_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 82|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOPA_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOPA_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 83|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOPS_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOPS_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 71|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOPA_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOPA_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  74,
   OPC_CheckChild1Integer, 72|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 31,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOPS_MPPZZ_S_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 72,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOPS_MPPZZ_D_PSEUDO),
                    5, 1, 2, 3, 4, 5,
   0,
  50,
   OPC_CheckChild1Integer, 14|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZZ_BToS_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZZ_HToS_PSEUDO),
                    3, 1, 2, 3,
   0,
  50,
   OPC_CheckChild1Integer, 22|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZZ_BToS_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZZ_HToS_PSEUDO),
                    3, 1, 2, 3,
   0,
  29,
   OPC_CheckChild1Integer, 66|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_MZZ_BToS_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 74|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_MZZ_BToS_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 55|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_MZZ_BToS_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 63|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_MZZ_BToS_PSEUDO),
                   3, 1, 2, 3,
  50,
   OPC_CheckChild1Integer, 21|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZZ_BToS_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZZ_HToS_PSEUDO),
                    3, 1, 2, 3,
   0,
  50,
   OPC_CheckChild1Integer, 29|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZZ_BToS_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZZ_HToS_PSEUDO),
                    3, 1, 2, 3,
   0,
  29,
   OPC_CheckChild1Integer, 18|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 26|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 70|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 78|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 25|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 33|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 59|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 67|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_MZZ_HtoD_PSEUDO),
                   3, 1, 2, 3,
  19,
   OPC_CheckChild1Integer, 93|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 82,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 79,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ZERO_M_PSEUDO),
                   1, 1,
  39,
   OPC_CheckChild1Integer, 57|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 33|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 33|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 53|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 53|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BMOPA_MPPZZ_S_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  39,
   OPC_CheckChild1Integer, 58|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 33|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 33|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 53|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 53|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BMOPS_MPPZZ_S_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  39,
   OPC_CheckChild1Integer, 31|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPA_MPPZZ_HtoS_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  39,
   OPC_CheckChild1Integer, 33|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOPS_MPPZZ_HtoS_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  39,
   OPC_CheckChild1Integer, 38|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPA_MPPZZ_HtoS_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  39,
   OPC_CheckChild1Integer, 40|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 34|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 34|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOPS_MPPZZ_HtoS_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  27,
   OPC_CheckChild1Integer, 6|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 53,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPA_MPPZZ_BtoH_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  27,
   OPC_CheckChild1Integer, 7|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 51,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOPA_MPPZZ_BtoS_PSEUDO),
                   5, 1, 2, 3, 4, 5,
  50,
   OPC_CheckChild1Integer, 43|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_MZZ_S_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_HtoS_PSEUDO),
                    3, 1, 2, 3,
   0,
  50,
   OPC_CheckChild1Integer, 51|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 17,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_MZZ_S_PSEUDO),
                    3, 1, 2, 3,
   17,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZZ_HtoS_PSEUDO),
                    3, 1, 2, 3,
   0,
  97,
   OPC_CheckChild1Integer, 39|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 21,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_S_PSEUDO),
                    3, 1, 2, 3,
   42,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 17,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_H_PSEUDO),
                     3, 1, 2, 3,
    17,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_MZZ_H_PSEUDO),
                     3, 1, 2, 3,
    0,
   21,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_D_PSEUDO),
                    3, 1, 2, 3,
   0,
  97,
   OPC_CheckChild1Integer, 47|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 21,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZZ_S_PSEUDO),
                    3, 1, 2, 3,
   42,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 17,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZZ_H_PSEUDO),
                     3, 1, 2, 3,
    17,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_MZZ_H_PSEUDO),
                     3, 1, 2, 3,
    0,
   21,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZZ_D_PSEUDO),
                    3, 1, 2, 3,
   0,
  29,
   OPC_CheckChild1Integer, 126|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 97,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_BtoH_PSEUDO),
                   3, 1, 2, 3,
  29,
   OPC_CheckChild1Integer, 2|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_CheckPatternPredicate, 98,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZZ_BtoS_PSEUDO),
                   3, 1, 2, 3,
  94,
   OPC_CheckChild1Integer, 16|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2ZZ_BToS_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2ZZ_HToS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 15|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZ2Z_BToS_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZ2Z_HToS_PSEUDO),
                    3, 1, 2, 8,
   0,
  94,
   OPC_CheckChild1Integer, 24|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2ZZ_BToS_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2ZZ_HToS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 23|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZ2Z_BToS_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZ2Z_HToS_PSEUDO),
                    3, 1, 2, 8,
   0,
  51,
   OPC_CheckChild1Integer, 68|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_M2ZZ_BToS_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 67|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_MZ2Z_BToS_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 76|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_M2ZZ_BToS_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 75|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_MZ2Z_BToS_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 57|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_M2ZZ_BToS_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 56|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_MZ2Z_BToS_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 65|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_M2ZZ_BToS_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 64|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_MZ2Z_BToS_PSEUDO),
                   3, 1, 2, 8,
  94,
   OPC_CheckChild1Integer, 23|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2ZZ_BToS_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2ZZ_HToS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 22|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZ2Z_BToS_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZ2Z_HToS_PSEUDO),
                    3, 1, 2, 8,
   0,
  94,
   OPC_CheckChild1Integer, 31|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2ZZ_BToS_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2ZZ_HToS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 30|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZ2Z_BToS_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZ2Z_HToS_PSEUDO),
                    3, 1, 2, 8,
   0,
  51,
   OPC_CheckChild1Integer, 20|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 19|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 28|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 27|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 72|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 71|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 80|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 79|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 27|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 26|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 35|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 34|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 61|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 60|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 69|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_M2ZZ_HtoD_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 68|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_MZ2Z_HtoD_PSEUDO),
                   3, 1, 2, 8,
  94,
   OPC_CheckChild1Integer, 45|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_M2ZZ_S_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_HtoS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 44|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_MZ2Z_S_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_HtoS_PSEUDO),
                    3, 1, 2, 8,
   0,
  94,
   OPC_CheckChild1Integer, 53|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_M2ZZ_S_PSEUDO),
                    3, 1, 8, 4,
   39,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2ZZ_HtoS_PSEUDO),
                    3, 1, 8, 4,
   0,
  94,
   OPC_CheckChild1Integer, 52|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 39,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_MZ2Z_S_PSEUDO),
                    3, 1, 2, 8,
   39,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZ2Z_HtoS_PSEUDO),
                    3, 1, 2, 8,
   0,
  57|128,1,
   OPC_CheckChild1Integer, 41|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 43,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_S_PSEUDO),
                    3, 1, 8, 4,
   86,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 39,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 2, 6, 3, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_H_PSEUDO),
                     3, 1, 8, 4,
    39,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 2, 6, 3, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_M2ZZ_H_PSEUDO),
                     3, 1, 8, 4,
    0,
   43,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_D_PSEUDO),
                    3, 1, 8, 4,
   0,
  57|128,1,
   OPC_CheckChild1Integer, 40|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 43,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_S_PSEUDO),
                    3, 1, 2, 8,
   86,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 39,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 3, 6, 4, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_H_PSEUDO),
                     3, 1, 2, 8,
    39,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 3, 6, 4, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_MZ2Z_H_PSEUDO),
                     3, 1, 2, 8,
    0,
   43,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_D_PSEUDO),
                    3, 1, 2, 8,
   0,
  57|128,1,
   OPC_CheckChild1Integer, 49|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 43,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2ZZ_S_PSEUDO),
                    3, 1, 8, 4,
   86,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 39,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 2, 6, 3, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2ZZ_H_PSEUDO),
                     3, 1, 8, 4,
    39,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 2, 6, 3, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_M2ZZ_H_PSEUDO),
                     3, 1, 8, 4,
    0,
   43,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 2, 6, 3, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2ZZ_D_PSEUDO),
                    3, 1, 8, 4,
   0,
  57|128,1,
   OPC_CheckChild1Integer, 48|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 43,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZ2Z_S_PSEUDO),
                    3, 1, 2, 8,
   86,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 39,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 3, 6, 4, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZ2Z_H_PSEUDO),
                     3, 1, 2, 8,
    39,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 5, 3, 6, 4, 7,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_MZ2Z_H_PSEUDO),
                     3, 1, 2, 8,
    0,
   43,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 3, 6, 4, 7,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_MZ2Z_D_PSEUDO),
                    3, 1, 2, 8,
   0,
  51,
   OPC_CheckChild1Integer, 0|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 97,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_BtoH_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 127|128,6,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 97,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_BtoH_PSEUDO),
                   3, 1, 2, 8,
  51,
   OPC_CheckChild1Integer, 4|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 98,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 2, 6, 3, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2ZZ_BtoS_PSEUDO),
                   3, 1, 8, 4,
  51,
   OPC_CheckChild1Integer, 3|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_CheckPatternPredicate, 98,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 5, 3, 6, 4, 7,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_MZ2Z_BtoS_PSEUDO),
                   3, 1, 2, 8,
  10|128,1,
   OPC_CheckChild1Integer, 17|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2Z2Z_BToS_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2Z2Z_HToS_PSEUDO),
                    3, 1, 9, 13,
   0,
  10|128,1,
   OPC_CheckChild1Integer, 25|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2Z2Z_BToS_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2Z2Z_HToS_PSEUDO),
                    3, 1, 9, 13,
   0,
  73,
   OPC_CheckChild1Integer, 69|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_M2Z2Z_BToS_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 77|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_M2Z2Z_BToS_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 58|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_M2Z2Z_BToS_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 66|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_M2Z2Z_BToS_PSEUDO),
                   3, 1, 9, 13,
  10|128,1,
   OPC_CheckChild1Integer, 24|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2Z2Z_BToS_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2Z2Z_HToS_PSEUDO),
                    3, 1, 9, 13,
   0,
  10|128,1,
   OPC_CheckChild1Integer, 32|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 42|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2Z2Z_BToS_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 48|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2Z2Z_HToS_PSEUDO),
                    3, 1, 9, 13,
   0,
  73,
   OPC_CheckChild1Integer, 21|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4A_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 29|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMOP4S_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 73|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4A_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 81|128,8,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SUMOP4S_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 28|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4A_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 36|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::UMOP4S_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 62|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4A_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 70|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 48|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 48|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 48|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 48|128,1,
   OPC_CheckPatternPredicate, 33,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::USMOP4S_M2Z2Z_HtoD_PSEUDO),
                   3, 1, 9, 13,
  10|128,1,
   OPC_CheckChild1Integer, 46|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_M2Z2Z_S_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_HtoS_PSEUDO),
                    3, 1, 9, 13,
   0,
  10|128,1,
   OPC_CheckChild1Integer, 54|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 61,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 72|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_M2Z2Z_S_PSEUDO),
                    3, 1, 9, 13,
   61,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 66|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2Z2Z_HtoS_PSEUDO),
                    3, 1, 9, 13,
   0,
  18|128,2,
   OPC_CheckChild1Integer, 42|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 65,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_S_PSEUDO),
                    3, 1, 9, 13,
   2|128,1,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 61,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 6, 2, 7, 3, 8,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 10, 4, 11, 5, 12,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_H_PSEUDO),
                     3, 1, 9, 13,
    61,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 6, 2, 7, 3, 8,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 10, 4, 11, 5, 12,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4A_M2Z2Z_H_PSEUDO),
                     3, 1, 9, 13,
    0,
   65,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_D_PSEUDO),
                    3, 1, 9, 13,
   0,
  18|128,2,
   OPC_CheckChild1Integer, 50|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 65,
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 77|128,1,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2Z2Z_S_PSEUDO),
                    3, 1, 9, 13,
   2|128,1,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_Scope, 61,
     OPC_CheckChild3Type, 66|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 66|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 66|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 66|128,1,
     OPC_CheckPatternPredicate, 80,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 6, 2, 7, 3, 8,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 10, 4, 11, 5, 12,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2Z2Z_H_PSEUDO),
                     3, 1, 9, 13,
    61,
     OPC_CheckChild3Type, 72|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 72|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 72|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 72|128,1,
     OPC_CheckPatternPredicate, 81,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 6, 2, 7, 3, 8,
     OPC_EmitIntegerI32, 5|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 10, 4, 11, 5, 12,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BFMOP4S_M2Z2Z_H_PSEUDO),
                     3, 1, 9, 13,
    0,
   65,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_CheckChild6Type, 81|128,1,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 6, 2, 7, 3, 8,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 10, 4, 11, 5, 12,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4S_M2Z2Z_D_PSEUDO),
                    3, 1, 9, 13,
   0,
  73,
   OPC_CheckChild1Integer, 1|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 49,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 97,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_BtoH_PSEUDO),
                   3, 1, 9, 13,
  73,
   OPC_CheckChild1Integer, 5|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 16,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 42|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 42|128,1,
   OPC_RecordChild5,
   OPC_CheckChild5Type, 42|128,1,
   OPC_RecordChild6,
   OPC_CheckChild6Type, 42|128,1,
   OPC_CheckPatternPredicate, 98,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 6, 2, 7, 3, 8,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 10, 4, 11, 5, 12,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::FMOP4A_M2Z2Z_BtoS_PSEUDO),
                   3, 1, 9, 13,
  24,
   OPC_CheckChild1Integer, 70|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitCopyToReg1, AArch64::X9,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS), 0|OPFL_Chain|OPFL_GlueInput,
                   MVT::i64, 2, 2, 3,
  26,
   OPC_CheckChild1Integer, 72|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitCopyToRegTwoByte, 1, TARGET_VAL(AArch64::X20),
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS_SHORTGRANULES), 0|OPFL_Chain|OPFL_GlueInput,
                   MVT::i64, 2, 2, 3,
  10,
   OPC_CheckChild1Integer, 38|128,6,
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MSR_FPCR),
                   1, 1,
  10,
   OPC_CheckChild1Integer, 40|128,6,
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MSR_FPSR),
                   1, 1,
  10,
   OPC_CheckChild1Integer, 39|128,6,
   OPC_RecordChild2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MSR_FPMR),
                   1, 1,
  11,
   OPC_CheckChild1Integer, 12|128,4,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 15,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CLREX),
                   1, 1,
  10,
   OPC_CheckChild1Integer, 104|128,13,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SETFFR),
                   MVT::i64, 0,
  12,
   OPC_CheckChild1Integer, 30|128,17,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::WRFFR),
                   MVT::i64, 1, 1,
  17,
   OPC_CheckChild1Integer, 93|128,7,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 79,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,61|128,3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::MSR),
                   2, 2, 1,
  71,
   OPC_CheckChild1Integer, 104|128,9,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 109,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 74|128,3,
   OPC_EmitIntegerI32, AArch64::x8sub_0,
   OPC_EmitIntegerI32, AArch64::x8sub_1,
   OPC_EmitIntegerI32, AArch64::x8sub_2,
   OPC_EmitIntegerI32, AArch64::x8sub_3,
   OPC_EmitIntegerI32, AArch64::x8sub_4,
   OPC_EmitIntegerI32, AArch64::x8sub_5,
   OPC_EmitIntegerI32, AArch64::x8sub_6,
   OPC_EmitIntegerI32, AArch64::x8sub_7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   124|128,1, 17, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST64B),
                   2, 19, 1,
  86|128,2,
   OPC_CheckChild1Integer, 10|128,15,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_2Z_IMM),
                    4, 8, 3, 4, 9,
   0,
  86|128,2,
   OPC_CheckChild1Integer, 31|128,15,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1B_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1D_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_2Z_IMM),
                    4, 8, 3, 4, 9,
   41,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckChild5TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 5, 1, 6, 2, 7,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1D_2Z_IMM),
                    4, 8, 3, 4, 9,
   0,
  86|128,3,
   OPC_CheckChild1Integer, 11|128,15,
   OPC_RecordChild2,
   OPC_Scope, 57,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_4Z_IMM),
                    4, 12, 5, 6, 13,
   0,
  86|128,3,
   OPC_CheckChild1Integer, 32|128,15,
   OPC_RecordChild2,
   OPC_Scope, 57,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 42|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 42|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 42|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1B_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 48|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 48|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 48|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 53|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 53|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 53|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 58|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 58|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1D_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 66|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 66|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 72|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 72|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 77|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 77|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 77|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_4Z_IMM),
                    4, 12, 5, 6, 13,
   57,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 81|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 81|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 81|128,1,
    OPC_RecordChild6,
    OPC_RecordChild7,
    OPC_CheckChild7TypeI64,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 71|128,2,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitIntegerI32, AArch64::zsub2,
    OPC_EmitIntegerI32, AArch64::zsub3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 9, 7, 1, 8, 2, 9, 3, 10, 4, 11,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1D_4Z_IMM),
                    4, 12, 5, 6, 13,
   0,
  0,
 7|128,112, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_Scope, 93|128,37,
   OPC_MoveChild0,
   OPC_Scope, 20|128,1,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 65, MVT::i64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 27,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     27,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     0,
    65, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 27,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     27,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     0,
    0,
   22|128,1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 65, MVT::i64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 27,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     27,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     0,
    65, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 27,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     27,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 6, 7, 8,
     0,
    0,
   12|128,1,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 61, MVT::i64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 25,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     25,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     0,
    61, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 25,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     25,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     0,
    0,
   14|128,1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 61, MVT::i64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 25,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     25,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     0,
    61, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 118|128,1,
     OPC_Scope, 25,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     25,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      118|128,1, 3, 4, 5, 6,
     0,
    0,
   4|128,7,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_Scope, 59|128,1,
     OPC_CheckPredicate, 23,
     OPC_CheckType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     56, MVT::v8i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 6, 7, 8,
      0,
     58, 42|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 6, 7, 8,
      0,
     0,
    122|128,2,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 56|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v16i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       0,
      56, MVT::v8i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       0,
      58, 42|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       0,
      0,
     57|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v8i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       0,
      56, MVT::v4i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       0,
      58, 48|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    61|128,2,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 55|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v4i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       0,
      56, MVT::v2i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       0,
      58, 53|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       0,
      0,
     125, MVT::i64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v2i64,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       0,
      58, 58|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    0,
   6|128,7,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_Scope, 59|128,1,
     OPC_CheckPredicate, 23,
     OPC_CheckType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     56, MVT::v8i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 6, 7, 8,
      0,
     58, 42|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 6, 7, 8,
      0,
     0,
    122|128,2,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 56|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v16i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       0,
      56, MVT::v8i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       0,
      58, 42|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       0,
      0,
     57|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v8i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       0,
      56, MVT::v4i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       0,
      58, 48|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    61|128,2,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 55|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v4i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       0,
      56, MVT::v2i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       0,
      58, 53|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       0,
      0,
     125, MVT::i64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 56, MVT::v2i64,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       0,
      58, 58|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    0,
   76|128,6,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_Scope, 47|128,1,
     OPC_CheckPredicate, 23,
     OPC_CheckType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 52, MVT::v16i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      0,
     52, MVT::v8i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i8, 3, 4, 5, 6,
      0,
     54, 42|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       42|128,1, 3, 4, 5, 6,
      0,
     0,
    98|128,2,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 44|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v16i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       0,
      52, MVT::v8i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       0,
      54, 42|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       0,
      0,
     45|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v8i16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 4, 5, 6,
       0,
      52, MVT::v4i16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 4, 5, 6,
       0,
      54, 48|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    41|128,2,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 43|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v4i32,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 5, 6,
       0,
      52, MVT::v2i32,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 4, 5, 6,
       0,
      54, 53|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 4, 5, 6,
       0,
      0,
     117, MVT::i64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v2i64,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       0,
      54, 58|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    0,
   48|128,12,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 52|128,7, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_Scope, 47|128,1,
      OPC_CheckPredicate, 23,
      OPC_CheckType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v16i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       0,
      52, MVT::v8i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       0,
      54, 42|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       0,
      0,
     98|128,2,
      OPC_CheckPredicate, 36,
      OPC_CheckTypeI32,
      OPC_Scope, 44|128,1,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 52, MVT::v16i8,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/20, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v16i8, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/19, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v16i8, 3, 4, 5, 6,
        0,
       52, MVT::v8i8,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/20, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v8i8, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/19, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v8i8, 3, 4, 5, 6,
        0,
       54, 42|128,1,
        OPC_Scope, 25,
         OPC_CheckComplexPat, /*CP*/20, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         42|128,1, 3, 4, 5, 6,
        25,
         OPC_CheckComplexPat, /*CP*/19, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i8, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         42|128,1, 3, 4, 5, 6,
        0,
       0,
      45|128,1,
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 52, MVT::v8i16,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/14, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v8i16, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/13, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v8i16, 3, 4, 5, 6,
        0,
       52, MVT::v4i16,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/14, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v4i16, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/13, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v4i16, 3, 4, 5, 6,
        0,
       54, 48|128,1,
        OPC_Scope, 25,
         OPC_CheckComplexPat, /*CP*/14, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         48|128,1, 3, 4, 5, 6,
        25,
         OPC_CheckComplexPat, /*CP*/13, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i16, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::hsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         48|128,1, 3, 4, 5, 6,
        0,
       0,
      0,
     41|128,2,
      OPC_CheckPredicate, 23,
      OPC_SwitchType , 43|128,1, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 52, MVT::v4i32,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/28, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v4i32, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/31, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v4i32, 3, 4, 5, 6,
        0,
       52, MVT::v2i32,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/28, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v2i32, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/31, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v2i32, 3, 4, 5, 6,
        0,
       54, 53|128,1,
        OPC_Scope, 25,
         OPC_CheckComplexPat, /*CP*/28, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         53|128,1, 3, 4, 5, 6,
        25,
         OPC_CheckComplexPat, /*CP*/31, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::ssub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         53|128,1, 3, 4, 5, 6,
        0,
       0,
      117, MVT::i64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 52, MVT::v2i64,
        OPC_Scope, 24,
         OPC_CheckComplexPat, /*CP*/27, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v2i64, 3, 4, 5, 6,
        24,
         OPC_CheckComplexPat, /*CP*/24, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::v2i64, 3, 4, 5, 6,
        0,
       54, 58|128,1,
        OPC_Scope, 25,
         OPC_CheckComplexPat, /*CP*/27, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         58|128,1, 3, 4, 5, 6,
        25,
         OPC_CheckComplexPat, /*CP*/24, /*#*/1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI64, 0,
         OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::i64, 2, 2, 3,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         58|128,1, 3, 4, 5, 6,
        0,
       0,
      0,
     108,
      OPC_CheckChild1TypeI64,
      OPC_CheckPredicate, 36,
      OPC_CheckTypeI32,
      OPC_Scope, 35,
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v8i16, 0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f128, 3, 2, 3, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 4, 5,
      65,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 27, MVT::v2i32,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 2, 3, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v2i32, 2, 4, 5,
       27, MVT::v4i16,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 2, 3, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i16, 2, 4, 5,
       0,
      0,
     0,
    110|128,4, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 10|128,1,
      OPC_CheckChild0Type, 42|128,1,
      OPC_Scope, 15,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CompleteMatch, 1, 0,

      116,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 21,
        OPC_CheckPredicate, 122,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, 42|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_B),
                        42|128,1, 2, 0, 2,
       85,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_SwitchType , 38, MVT::i8,
         OPC_MoveParent,
         OPC_CheckChild2Integer, 0,
         OPC_CheckChild2TypeI64,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v16i8, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v16i8, 2, 0, 3,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                         MVT::i8, 2, 4, 5,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v16i8, 3, 2, 6, 7,
        38, MVT::i32,
         OPC_MoveParent,
         OPC_CheckChild2Integer, 0,
         OPC_CheckChild2TypeI64,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v16i8, 0,
         OPC_EmitIntegerI32, AArch64::zsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v16i8, 2, 0, 3,
         OPC_EmitConvertToTarget1,
         OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                         MVT::i8, 2, 4, 5,
         OPC_EmitIntegerI32, AArch64::bsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v16i8, 3, 2, 6, 7,
        0,
       0,
      0,
     94,
      OPC_CheckChild0Type, 48|128,1,
      OPC_Scope, 15,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CompleteMatch, 1, 0,

      72,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 21,
        OPC_CheckPredicate, 68,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, 48|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                        48|128,1, 2, 0, 2,
       41,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8i16, 0,
        OPC_EmitIntegerI32, AArch64::zsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i16, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                        MVT::i16, 2, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8i16, 3, 2, 6, 7,
       0,
      0,
     94,
      OPC_CheckChild0Type, 53|128,1,
      OPC_Scope, 15,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CompleteMatch, 1, 0,

      72,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 21,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, 53|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                        53|128,1, 2, 0, 2,
       41,
        OPC_CheckPredicate6,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_EmitIntegerI32, AArch64::zsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i32, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                        MVT::i32, 2, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v4i32, 3, 2, 6, 7,
       0,
      0,
     94,
      OPC_CheckChild0Type, 58|128,1,
      OPC_Scope, 15,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CompleteMatch, 1, 0,

      72,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 20,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, 58|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                        58|128,1, 2, 0, 2,
       42,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild2Integer, 0,
        OPC_CheckChild2TypeI64,
        OPC_CheckType, MVT::v2i64,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v2i64, 0,
        OPC_EmitIntegerI32, AArch64::zsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v2i64, 2, 0, 3,
        OPC_EmitConvertToTarget1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                        MVT::i64, 2, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v2i64, 3, 2, 6, 7,
       0,
      0,
     73,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 29, MVT::i8,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                       MVT::i8, 2, 0, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 2, 4, 5,
      29, MVT::i32,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                       MVT::i8, 2, 0, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 2, 4, 5,
      0,
     39,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 2, 4, 5,
     39,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                      MVT::i32, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 2, 4, 5,
     39,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v2i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                      MVT::i64, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 2, 4, 5,
     0,
    0,
   0,
  56|128,14,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 78|128,12, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 106|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 27,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                      MVT::v16i8, 4, 0, 4, 1, 5,
     66|128,1,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::i8,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::v16i8,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::v16i8, 4, 0, 4, 1, 5,
       32, MVT::v8i8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::f128, 4, 6, 7, 1, 8,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 9, 10,
       0,
      2|128,1, MVT::i32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::v16i8,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::v16i8, 4, 0, 4, 1, 5,
       32, MVT::v8i8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::f128, 4, 6, 7, 1, 8,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 9, 10,
       35, MVT::v4i16,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::f128, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 12, 7,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::f128, 4, 6, 8, 1, 9,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i16, 2, 10, 11,
       35, MVT::v2i32,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::f128, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 13, 7,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                        MVT::f128, 4, 6, 8, 1, 9,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v2i32, 2, 10, 11,
       0,
      0,
     0,
    4|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 25,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8i16, 4, 0, 4, 1, 5,
     95,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::v8i16,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                       MVT::v8i16, 4, 0, 4, 1, 5,
      32, MVT::v4i16,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                       MVT::f128, 4, 6, 7, 1, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 9, 10,
      35, MVT::v2i32,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 12, 7,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                       MVT::f128, 4, 6, 8, 1, 9,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 10, 11,
      0,
     0,
    95,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 25,
      OPC_CheckPredicate6,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::v4i32, 4, 0, 4, 1, 5,
     58,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::v4i32,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                       MVT::v4i32, 4, 0, 4, 1, 5,
      32, MVT::v2i32,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                       MVT::f128, 4, 6, 7, 1, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 9, 10,
      0,
     0,
    97,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 27,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::v2i64, 4, 0, 4, 1, 5,
     58,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 11, MVT::v2i64,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                       MVT::v2i64, 4, 0, 4, 1, 5,
      32, MVT::v1i64,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                       MVT::f128, 4, 6, 7, 1, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 9, 10,
      0,
     0,
    38|128,1,
     OPC_CheckChild0Type, 42|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 74, MVT::i8,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 20, MVT::v16i8,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 1, 5,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::v16i8, 4, 0, 4, 6, 7,
      41, MVT::v8i8,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 1, 8,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 7, 9, 10,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 11, 12,
      0,
     74, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 20, MVT::v16i8,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 1, 5,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::v16i8, 4, 0, 4, 6, 7,
      41, MVT::v8i8,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 1, 8,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 7, 9, 10,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 11, 12,
      0,
     0,
    86,
     OPC_CheckChild0Type, 48|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v8i16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8i16, 4, 0, 4, 6, 7,
     41, MVT::v4i16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 11, 12,
     0,
    86,
     OPC_CheckChild0Type, 53|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v4i32,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::v4i32, 4, 0, 4, 6, 7,
     41, MVT::v2i32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 11, 12,
     0,
    87,
     OPC_CheckChild0Type, 58|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v2i64,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::v2i64, 4, 0, 4, 6, 7,
     41, MVT::v1i64,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 11, 12,
     0,
    30|128,2,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 80, MVT::i8,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 23, MVT::v16i8,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 5, 1, 6,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::v16i8, 4, 0, 4, 7, 8,
      44, MVT::v8i8,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 8, 1, 9,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 7, 10, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      0,
     62|128,1, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 23, MVT::v16i8,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 5, 1, 6,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::v16i8, 4, 0, 4, 7, 8,
      44, MVT::v8i8,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 8, 1, 9,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 7, 10, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      53, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 12, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 9, 1, 10,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 8, 11, 12,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 13, 14,
      53, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 13, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 9, 1, 10,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                       MVT::f128, 4, 6, 8, 11, 12,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 13, 14,
      0,
     0,
    17|128,1,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v8i16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8i16, 4, 0, 4, 7, 8,
     44, MVT::v4i16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     53, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 12, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 9, 1, 10,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 8, 11, 12,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 13, 14,
     0,
    90,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v4i32,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::v4i32, 4, 0, 4, 7, 8,
     44, MVT::v2i32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    90,
     OPC_CheckChild0Type, MVT::v1i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v2i64,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::v2i64, 4, 0, 4, 7, 8,
     44, MVT::v1i64,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    0,
   94|128,1, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_Scope, 26,
     OPC_CheckPredicate, 23,
     OPC_CheckType, MVT::i8,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 3, 0, 4, 2,
    53,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 23,
      OPC_CheckPredicate0,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 3, 0, 4, 2,
     23,
      OPC_CheckPredicate, 14,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 3, 0, 4, 2,
     0,
    51,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 21, MVT::i32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 3, 0, 4, 2,
     22, MVT::i64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i64), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 3, 0, 4, 2,
     0,
    80,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 26,
      OPC_CheckPredicate, 14,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 14, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 3, 0, 5, 2,
     47,
      OPC_CheckPredicate0,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_Scope, 18,
       OPC_CheckPredicate6,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 15, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 3, 0, 5, 2,
      18,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 16, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 3, 0, 5, 2,
      0,
     0,
    0,
   0,
  21,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, MVT::v1i64,
   OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v1i64, 2, 0, 1,
  41,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckPredicate, 90,
   OPC_CheckPredicate, 42,
   OPC_CheckPredicate, 18,
   OPC_CheckTypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 85,
   OPC_EmitMergeInputChains1_1,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAP1), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2i64, 3, 0, 4, 2,
  1|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 74|128,1,
    OPC_CheckChild1TypeI32,
    OPC_CheckChild2Integer, 0,
    OPC_Scope, 1|128,1,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 21, MVT::v16i8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 1, 3, 4,
     21, MVT::v8i8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i8, 3, 1, 3, 4,
     21, MVT::v8i16,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 3, 4,
     21, MVT::v4i16,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::f32, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i16, 3, 1, 3, 4,
     15, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i32, 3, 1, 0, 2,
     15, MVT::v4i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 1, 0, 2,
     0,
    21,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     48|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     48|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     53|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     53|128,1, 3, 1, 0, 2,
    0,
   44,
    OPC_CheckChild1TypeI64,
    OPC_CheckChild2Integer, 0,
    OPC_SwitchType , 16, MVT::v2i64,
     OPC_CheckChild2TypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 0, 2,
    18, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     58|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     58|128,1, 3, 1, 0, 2,
    0,
   0,
  105|128,8,
   OPC_RecordChild0,
   OPC_Scope, 97|128,3,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 76|128,2, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPredicate1,
     OPC_SwitchType , 18|128,2, MVT::i32,
      OPC_Scope, 97|128,1,
       OPC_CheckPredicate, 36,
       OPC_Scope, 47,
        OPC_CheckPredicate, 14,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate6,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v2i32,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::f128, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 14, 7,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 6, 8, 2,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v2i32, 2, 9, 10,
       127,
        OPC_CheckPredicate0,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckTypeI64,
        OPC_Scope, 39,
         OPC_CheckPredicate6,
         OPC_MoveParent,
         OPC_CheckType, MVT::v2i32,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::f128, 3, 4, 0, 5,
         OPC_EmitConvertToTarget3,
         OPC_EmitNodeXForm, 15, 7,
         OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::f128, 3, 6, 8, 2,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i32, 2, 9, 10,
        39,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i16,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::f128, 3, 4, 0, 5,
         OPC_EmitConvertToTarget3,
         OPC_EmitNodeXForm, 16, 7,
         OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::f128, 3, 6, 8, 2,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v4i16, 2, 9, 10,
        37,
         OPC_CheckPredicate, 20,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i8,
         OPC_EmitMergeInputChains1_1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                         MVT::f128, 3, 4, 0, 5,
         OPC_EmitConvertToTarget3,
         OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::f128, 3, 6, 7, 2,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v8i8, 2, 8, 9,
        0,
       44,
        OPC_CheckPredicate, 14,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate5,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::f128, 3, 4, 0, 5,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 6, 7, 2,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i16, 2, 8, 9,
       0,
      44,
       OPC_CheckPredicate, 23,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f128, 3, 6, 7, 2,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 8, 9,
      0,
     45, MVT::i8,
      OPC_CheckPredicate, 23,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 3, 6, 7, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 8, 9,
     0,
    10|128,1, TARGET_VAL(ISD::BITCAST),
     OPC_RecordChild0,
     OPC_SwitchType , 93, MVT::i32,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 27, MVT::v4i32,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                       MVT::v4i32, 4, 0, 3, 6, 7,
      51, MVT::v2i32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4i32, 3, 3, 0, 4,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 7, 1, 8,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                       MVT::f128, 4, 5, 6, 9, 10,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 11, 12,
      0,
     38, MVT::i64,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::v2i64, 4, 0, 3, 6, 7,
     0,
    0,
   1|128,5,
    OPC_RecordChild1,
    OPC_Scope, 49|128,3,
     OPC_CheckChild1TypeI32,
     OPC_Scope, 70,
      OPC_CheckChild2Integer, 0,
      OPC_SwitchType , 19, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                       31|128,1, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_B),
                       42|128,1, 3, 0, 3, 1,
      19, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_H),
                       48|128,1, 3, 0, 3, 1,
      19, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_S),
                       53|128,1, 3, 0, 3, 1,
      0,
     101|128,2,
      OPC_RecordChild2,
      OPC_Scope, 39|128,1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 15,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate1,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8gpr),
                        MVT::v16i8, 3, 0, 3, 1,
       14,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate1,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16gpr),
                        MVT::v8i16, 3, 0, 3, 1,
       51,
        OPC_CheckPredicate6,
        OPC_MoveParent,
        OPC_SwitchType , 10, MVT::v4i32,
         OPC_CheckPatternPredicate1,
         OPC_EmitConvertToTarget2,
         OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32gpr),
                         MVT::v4i32, 3, 0, 3, 1,
        33, MVT::v2i32,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v4i32, 0,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                         MVT::v4i32, 3, 3, 0, 4,
         OPC_EmitConvertToTarget2,
         OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32gpr),
                         MVT::f128, 3, 5, 6, 1,
         OPC_EmitIntegerI32, AArch64::dsub,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v2i32, 2, 7, 8,
        0,
       37,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i16,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8i16, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8i16, 3, 3, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16gpr),
                        MVT::f128, 3, 5, 6, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i16, 2, 7, 8,
       38,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i8,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 3, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8gpr),
                        MVT::f128, 3, 5, 6, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v8i8, 2, 7, 8,
       0,
      55|128,1,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 57, 42|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_B),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_B),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_B),
                        42|128,1, 3, 0, 11, 1,
       57, 48|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_H),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_H),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_H),
                        48|128,1, 3, 0, 11, 1,
       57, 53|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_S),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_S),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_S),
                        53|128,1, 3, 0, 11, 1,
       0,
      0,
     0,
    106,
     OPC_CheckChild1TypeI64,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_D),
                      58|128,1, 3, 0, 3, 1,
     77,
      OPC_RecordChild2,
      OPC_Scope, 20,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64gpr),
                       MVT::v2i64, 3, 0, 3, 1,
      52,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                       42|128,1, 2, 5, 6,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_D),
                       42|128,1, 1, 2,
       OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                       31|128,1, MVT::i32, 3, 4, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_D),
                       58|128,1, 3, 0, 9, 1,
      0,
     0,
    95,
     OPC_CheckChild1Type, MVT::i8,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 27, MVT::v16i8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi8lane),
                      MVT::v16i8, 4, 0, 3, 6, 7,
     51, MVT::v8i8,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 3, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 7, 1, 8,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi8lane),
                      MVT::f128, 4, 5, 6, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 11, 12,
     0,
    0,
   0,
  88|128,24,
   OPC_MoveChild0,
   OPC_Scope, 69|128,5,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 55|128,1, MVT::f16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v8f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      0,
     56, MVT::v4f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      0,
     58, 66|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      0,
     0,
    55|128,1, MVT::bf16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v8bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      0,
     56, MVT::v4bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      0,
     58, 72|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      0,
     0,
    61|128,1, MVT::f32,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 58, 4|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      0,
     58, 2|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      0,
     58, 77|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      0,
     0,
    0|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 58, 22|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      0,
     58, 81|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      0,
     0,
    0,
   71|128,5,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 55|128,1, MVT::f16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v8f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      0,
     56, MVT::v4f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      0,
     58, 66|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      0,
     0,
    55|128,1, MVT::bf16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 56, MVT::v8bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      0,
     56, MVT::v4bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      0,
     58, 72|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      0,
     0,
    61|128,1, MVT::f32,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 58, 4|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      0,
     58, 2|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      0,
     58, 77|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      0,
     0,
    0|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 58, 22|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      0,
     58, 81|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      0,
     0,
    0,
   24|128,5,
    OPC_CheckImmAllZerosV,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 43|128,1, MVT::f16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 52, MVT::v8f16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 4, 5, 6,
      0,
     52, MVT::v4f16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 4, 5, 6,
      0,
     54, 66|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 4, 5, 6,
      0,
     0,
    43|128,1, MVT::bf16,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 52, MVT::v8bf16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 4, 5, 6,
      0,
     52, MVT::v4bf16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 4, 5, 6,
      0,
     54, 72|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 4, 5, 6,
      0,
     0,
    49|128,1, MVT::f32,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 54, 4|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 4, 5, 6,
      0,
     54, 2|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 4, 5, 6,
      0,
     54, 77|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 4, 5, 6,
      0,
     0,
    120, MVT::f64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 54, 22|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 4, 5, 6,
      0,
     54, 81|128,1,
      OPC_Scope, 25,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 4, 5, 6,
      0,
     0,
    0,
   41|128,8,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 19|128,5, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 43|128,1, MVT::f16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v8f16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8f16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8f16, 3, 4, 5, 6,
       0,
      52, MVT::v4f16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4f16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4f16, 3, 4, 5, 6,
       0,
      54, 66|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        66|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        66|128,1, 3, 4, 5, 6,
       0,
      0,
     43|128,1, MVT::bf16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 52, MVT::v8bf16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8bf16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8bf16, 3, 4, 5, 6,
       0,
      52, MVT::v4bf16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4bf16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4bf16, 3, 4, 5, 6,
       0,
      54, 72|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        72|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        72|128,1, 3, 4, 5, 6,
       0,
      0,
     49|128,1, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 54, 4|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        4|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        4|128,1, 3, 4, 5, 6,
       0,
      54, 2|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        2|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        2|128,1, 3, 4, 5, 6,
       0,
      54, 77|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        77|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        77|128,1, 3, 4, 5, 6,
       0,
      0,
     120, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_SwitchType , 54, 22|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        22|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        22|128,1, 3, 4, 5, 6,
       0,
      54, 81|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        81|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        81|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    8|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 51,
      OPC_CheckChild0Type, 66|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v8f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8f16, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8f16, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 2, 6, 7,
     51,
      OPC_CheckChild0Type, 72|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::bf16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v8bf16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8bf16, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 2, 6, 7,
     55,
      OPC_CheckChild0Type, 77|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 4|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      4|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      4|128,1, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      4|128,1, 3, 2, 6, 7,
     56,
      OPC_CheckChild0Type, 81|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 22|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      22|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      22|128,1, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                      MVT::i64, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      22|128,1, 3, 2, 6, 7,
     40,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v8f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8f16, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 2, 4, 5,
     40,
      OPC_CheckChild0Type, MVT::v8bf16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::bf16,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, MVT::v8bf16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 2, 4, 5,
     44,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 4|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      4|128,1, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi32),
                      MVT::i32, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      4|128,1, 3, 2, 4, 5,
     44,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 22|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      22|128,1, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi64),
                      MVT::i64, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      22|128,1, 3, 2, 4, 5,
     0,
    0,
   0,
  64|128,8,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 45, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate, 90,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAP1), 0|OPFL_Chain|OPFL_MemRefs,
                    22|128,1, 3, 0, 4, 2,
   8|128,8, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 87,
     OPC_CheckChild0Type, 66|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v8f16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8f16, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8f16, 4, 0, 4, 6, 7,
     41, MVT::v4f16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8f16, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 11, 12,
     0,
    87,
     OPC_CheckChild0Type, 72|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v8bf16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8bf16, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8bf16, 4, 0, 4, 6, 7,
     41, MVT::v4bf16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8bf16, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 11, 12,
     0,
    93,
     OPC_CheckChild0Type, 77|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 22, 4|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      4|128,1, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      4|128,1, 4, 0, 4, 6, 7,
     43, 2|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      4|128,1, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 11, 12,
     0,
    94,
     OPC_CheckChild0Type, 81|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 22, 22|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      22|128,1, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      22|128,1, 4, 0, 4, 6, 7,
     43, 21|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      22|128,1, 2, 1, 8,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::f128, 4, 6, 7, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      21|128,1, 2, 11, 12,
     0,
    67,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::v8f16,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8f16, 4, 0, 4, 1, 5,
     32, MVT::v4f16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8f16, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 1, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 9, 10,
     0,
    67,
     OPC_CheckChild0Type, MVT::v8bf16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::v8bf16,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8bf16, 4, 0, 4, 1, 5,
     32, MVT::v4bf16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8bf16, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 1, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 9, 10,
     0,
    73,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 12, 4|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      4|128,1, 4, 0, 4, 1, 5,
     34, 2|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      4|128,1, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::f128, 4, 6, 7, 1, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 9, 10,
     0,
    73,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 12, 22|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      22|128,1, 4, 0, 4, 1, 5,
     34, 21|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      22|128,1, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::f128, 4, 6, 7, 1, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      21|128,1, 2, 9, 10,
     0,
    91,
     OPC_CheckChild0Type, MVT::v4f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v8f16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8f16, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8f16, 4, 0, 4, 7, 8,
     44, MVT::v4f16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 12, 13,
     0,
    91,
     OPC_CheckChild0Type, MVT::v4bf16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v8bf16,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8bf16, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::v8bf16, 4, 0, 4, 7, 8,
     44, MVT::v4bf16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 12, 13,
     0,
    97,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 25, 4|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      4|128,1, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                      4|128,1, 4, 0, 4, 7, 8,
     45, 2|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 12, 13,
     0,
    97,
     OPC_CheckChild0Type, 21|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 25, 22|128,1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      22|128,1, 3, 5, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                      22|128,1, 4, 0, 4, 7, 8,
     45, 21|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 8, 1, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi64lane),
                      MVT::f128, 4, 6, 7, 10, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      21|128,1, 2, 12, 13,
     0,
    0,
   0,
  17,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 21|128,1,
   OPC_CompleteMatch, 1, 0,

  73|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 84, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitConvertToTarget1,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16gpr),
                     MVT::v8f16, 3, 0, 2, 3,
    25, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitConvertToTarget1,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32gpr),
                     4|128,1, 3, 0, 2, 3,
    26, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitConvertToTarget1,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64gpr),
                     22|128,1, 3, 0, 2, 3,
    0,
   107, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 23, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 3, 0, 4, 2,
    24, MVT::f64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i64), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 3, 0, 4, 2,
    21, MVT::f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8f16, 3, 0, 4, 2,
    21, MVT::bf16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8bf16,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8bf16, 3, 0, 4, 2,
    0,
   0,
  8|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 17,
    OPC_CheckChild1TypeI64,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 21|128,1,
    OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    21|128,1, 2, 0, 1,
   110,
    OPC_CheckChild1Type, MVT::f16,
    OPC_CheckChild2Integer, 0,
    OPC_Scope, 37,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 15, MVT::v4f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4f16, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4f16, 3, 1, 0, 2,
     15, MVT::v8f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8f16, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 1, 0, 2,
     0,
    21,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     66|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     66|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     65|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     65|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     64|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     64|128,1, 3, 1, 0, 2,
    0,
   110,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_CheckChild2Integer, 0,
    OPC_Scope, 37,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 15, MVT::v4bf16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4bf16, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4bf16, 3, 1, 0, 2,
     15, MVT::v8bf16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 1, 0, 2,
     0,
    21,
     OPC_CheckType, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     72|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     72|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     71|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     71|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     70|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     70|128,1, 3, 1, 0, 2,
    0,
   94,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckChild2Integer, 0,
    OPC_Scope, 43,
     OPC_CheckChild2TypeI64,
     OPC_SwitchType , 17, 4|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      4|128,1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      4|128,1, 3, 1, 0, 2,
     17, 2|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 1, 0, 2,
     0,
    21,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     77|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     77|128,1, 3, 1, 0, 2,
    21,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     76|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     76|128,1, 3, 1, 0, 2,
    0,
   48,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckChild2Integer, 0,
    OPC_SwitchType , 18, 22|128,1,
     OPC_CheckChild2TypeI64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     22|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     22|128,1, 3, 1, 0, 2,
    18, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     81|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     81|128,1, 3, 1, 0, 2,
    0,
   0,
  57|128,10,
   OPC_RecordChild0,
   OPC_Scope, 4|128,2,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 16|128,1, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPredicate1,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 44, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, 2|128,1,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 3, 6, 7, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 8, 9,
     42, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4f16,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 3, 6, 7, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 8, 9,
     42, MVT::bf16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4bf16,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 0, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 3, 6, 7, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 8, 9,
     0,
    106, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 32,
     OPC_SwitchType , 47, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4f16,
      OPC_CheckPatternPredicate, 92,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8f16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitRegisterI32, AArch64::WZR,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16gpr),
                      MVT::f128, 3, 4, 5, 6,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 7, 8,
     51, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, 2|128,1,
      OPC_CheckPatternPredicate, 92,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      4|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      4|128,1, 3, 2, 0, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitRegisterI32, AArch64::WZR,
      OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32gpr),
                      MVT::f128, 3, 4, 5, 6,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 7, 8,
     0,
    0,
   46|128,8,
    OPC_RecordChild1,
    OPC_Scope, 67|128,2,
     OPC_CheckChild1Type, MVT::f16,
     OPC_Scope, 41,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 4, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_H),
                      66|128,1, 3, 3, 6, 0,
     19|128,2,
      OPC_RecordChild2,
      OPC_Scope, 95,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 31,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8f16,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8f16, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8f16, 3, 4, 1, 5,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                        MVT::v8f16, 4, 0, 3, 6, 7,
       55,
        OPC_CheckPredicate6,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4f16,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8f16, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8f16, 3, 3, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8f16, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8f16, 3, 7, 1, 8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                        MVT::f128, 4, 5, 6, 9, 10,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4f16, 2, 11, 12,
       0,
      46|128,1,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 48, 64|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                        42|128,1, 2, 5, 6,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_D),
                        42|128,1, 1, 2,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                        31|128,1, MVT::i32, 3, 4, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        64|128,1, 3, 0, 9, 1,
       57, 65|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_S),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_S),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        65|128,1, 3, 0, 11, 1,
       57, 66|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_H),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_H),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        66|128,1, 3, 0, 11, 1,
       0,
      0,
     0,
    67|128,2,
     OPC_CheckChild1Type, MVT::bf16,
     OPC_Scope, 41,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 4, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_H),
                      72|128,1, 3, 3, 6, 0,
     19|128,2,
      OPC_RecordChild2,
      OPC_Scope, 95,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckTypeI64,
       OPC_Scope, 31,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8bf16,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8bf16, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8bf16, 3, 4, 1, 5,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi16lane),
                        MVT::v8bf16, 4, 0, 3, 6, 7,
       55,
        OPC_CheckPredicate6,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4bf16,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8bf16, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8bf16, 3, 3, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v8bf16, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v8bf16, 3, 7, 1, 8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi16lane),
                        MVT::f128, 4, 5, 6, 9, 10,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4bf16, 2, 11, 12,
       0,
      46|128,1,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 48, 70|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                        42|128,1, 2, 5, 6,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_D),
                        42|128,1, 1, 2,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                        31|128,1, MVT::i32, 3, 4, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        70|128,1, 3, 0, 9, 1,
       57, 71|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_S),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_S),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        71|128,1, 3, 0, 11, 1,
       57, 72|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_H),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_H),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                        72|128,1, 3, 0, 11, 1,
       0,
      0,
     0,
    12|128,2,
     OPC_CheckChild1Type, MVT::f32,
     OPC_Scope, 41,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 4, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                      77|128,1, 3, 3, 6, 0,
     92|128,1,
      OPC_RecordChild2,
      OPC_Scope, 101,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_SwitchType , 30, 4|128,1,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        4|128,1, 0,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        4|128,1, 3, 4, 1, 5,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi32lane),
                        4|128,1, 4, 0, 3, 6, 7,
       56, 2|128,1,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        4|128,1, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        4|128,1, 3, 3, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        4|128,1, 0,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        4|128,1, 3, 7, 1, 8,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INSvi32lane),
                        MVT::f128, 4, 5, 6, 9, 10,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        2|128,1, 2, 11, 12,
       0,
      114,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 48, 76|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI64, 0,
        OPC_EmitIntegerI64, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                        42|128,1, 2, 5, 6,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_D),
                        42|128,1, 1, 2,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                        31|128,1, MVT::i32, 3, 4, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_S),
                        76|128,1, 3, 0, 9, 1,
       57, 77|128,1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 31,
        OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                        31|128,1, 1, 3,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_S),
                        42|128,1, 2, 5, 6,
        OPC_EmitIntegerI32, AArch64::sub_32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 8,
        OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_S),
                        42|128,1, 1, 9,
        OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        31|128,1, MVT::i32, 3, 4, 7, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_S),
                        77|128,1, 3, 0, 11, 1,
       0,
      0,
     0,
    17|128,1,
     OPC_CheckChild1Type, MVT::f64,
     OPC_Scope, 41,
      OPC_CheckChild2Integer, 0,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 4, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                      81|128,1, 3, 3, 6, 0,
     98,
      OPC_RecordChild2,
      OPC_Scope, 41,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 11,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, 22|128,1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       22|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       22|128,1, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                       22|128,1, 4, 0, 3, 6, 7,
      52,
       OPC_CheckChild2TypeI64,
       OPC_CheckType, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 3,
       OPC_EmitIntegerI64, 0,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                       42|128,1, 2, 5, 6,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZR_D),
                       42|128,1, 1, 2,
       OPC_EmitNode2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                       31|128,1, MVT::i32, 3, 4, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_D),
                       81|128,1, 3, 0, 9, 1,
      0,
     0,
    0,
   0,
  0,
 81|128,1, TARGET_VAL(ISD::CTLZ),
  OPC_Scope, 120,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 53,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSWr),
                     MVT::i32, 1, 0,
    22,
     OPC_CheckChild1Integer, 63,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSXr),
                     MVT::i64, 1, 0,
    0,
   51,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_CheckChild0Same, 0,
    OPC_Scope, 20,
     OPC_CheckChild1Integer, 31,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSWr),
                     MVT::i32, 1, 0,
    20,
     OPC_CheckChild1Integer, 63,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSXr),
                     MVT::i64, 1, 0,
    0,
   0,
  85,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZWr),
                    MVT::i32, 1, 0,
   7, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZXr),
                    MVT::i64, 1, 0,
   9, MVT::v8i8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv8i8),
                    MVT::v8i8, 1, 0,
   7, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv16i8),
                    MVT::v16i8, 1, 0,
   9, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv4i16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv8i16),
                    MVT::v8i16, 1, 0,
   9, MVT::v2i32,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv2i32),
                    MVT::v2i32, 1, 0,
   9, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZv4i32),
                    MVT::v4i32, 1, 0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::SRA),
  OPC_Scope, 5|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 86, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 40,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 141,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i32,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI64, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                      MVT::i32, 3, 0, 2, 3,
     11, MVT::i64,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI64, 7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                      MVT::i64, 3, 0, 2, 3,
     0,
    40,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 144,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::i32,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI64, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                      MVT::i32, 3, 0, 2, 3,
     11, MVT::i64,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI64, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                      MVT::i64, 3, 0, 2, 3,
     0,
    0,
   38, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 41,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI64, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                    MVT::i64, 3, 4, 5, 6,
   0,
  45|128,1,
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 15,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI64, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                     MVT::i32, 3, 0, 2, 3,
    15,
     OPC_CheckPredicate, 86,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI64, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                     MVT::i64, 3, 0, 2, 3,
    0,
   96,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVXr),
                      MVT::i64, 2, 0, 4,
     0,
    12, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVWr),
                     MVT::i32, 2, 0, 1,
    36, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVXr),
                      MVT::i64, 2, 0, 4,
     0,
    0,
   31,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVXr),
                     MVT::i64, 2, 0, 1,
    16, MVT::i32,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRVWr),
                     MVT::i32, 2, 0, 3,
    0,
   0,
  0,
 74|128,57, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 74|128,7,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_Scope, 73,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_Scope, 33,
     OPC_CheckPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    34,
     OPC_CheckPredicate, 14,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   107,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 32, MVT::i32,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    32, MVT::i64,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
     0,
    33, MVT::i8,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i8, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i8, 4, 2, 3, 4, 5,
     0,
    0,
   56|128,1,
    OPC_CheckPredicate3,
    OPC_Scope, 72,
     OPC_CheckPredicate, 14,
     OPC_SwitchType , 32, MVT::i32,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
      14,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
      0,
     32, MVT::i64,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
      14,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
      0,
     0,
    71,
     OPC_CheckPredicate0,
     OPC_SwitchType , 32, MVT::i32,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
      14,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
      0,
     32, MVT::i64,
      OPC_Scope, 14,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
      14,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
      0,
     0,
    35,
     OPC_CheckPredicate, 34,
     OPC_CheckTypeI64,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4, 2, 3, 4, 5,
     0,
    0,
   74,
    OPC_CheckPredicate, 36,
    OPC_CheckTypeI32,
    OPC_Scope, 33,
     OPC_CheckPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    34,
     OPC_CheckPredicate, 14,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   23|128,2,
    OPC_CheckPredicate2,
    OPC_SwitchType , 34, MVT::i32,
     OPC_CheckPredicate, 83,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    109|128,1, MVT::i64,
     OPC_Scope, 57,
      OPC_CheckPredicate0,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      0,
     58,
      OPC_CheckPredicate, 14,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      0,
     58,
      OPC_CheckPredicate, 34,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      0,
     58,
      OPC_CheckPredicate, 83,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::i64, 3, 6, 7, 8,
      0,
     0,
    0,
   112|128,1,
    OPC_CheckPredicate, 36,
    OPC_CheckTypeI64,
    OPC_Scope, 57,
     OPC_CheckPredicate0,
     OPC_Scope, 26,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     26,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     0,
    58,
     OPC_CheckPredicate, 14,
     OPC_Scope, 26,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     26,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     0,
    58,
     OPC_CheckPredicate, 34,
     OPC_Scope, 26,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     26,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     0,
    58,
     OPC_CheckPredicate, 83,
     OPC_Scope, 26,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     26,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 6, 7, 8,
     0,
    0,
   0,
  76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADR),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 148,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_Scope, 24,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 8, MVT::i32,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWl), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 1,
    8, MVT::i64,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXl), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 1,
    0,
   12,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWl), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 1, 1,
   24,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWl), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   0,
  1|128,9,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_Scope, 47,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckComplexPat, /*CP*/27, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    12, MVT::i32,
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13, MVT::i8,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i8, 2, 2, 3,
    0,
   33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   84,
    OPC_CheckPredicate3,
    OPC_Scope, 32,
     OPC_CheckPredicate, 14,
     OPC_SwitchType , 12, MVT::i32,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12, MVT::i64,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    31,
     OPC_CheckPredicate0,
     OPC_SwitchType , 12, MVT::i32,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12, MVT::i64,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   47,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 12, MVT::i64,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURXi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    12, MVT::i32,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13, MVT::i8,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i8, 2, 2, 3,
    0,
   33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   84,
    OPC_CheckPredicate3,
    OPC_Scope, 32,
     OPC_CheckPredicate, 14,
     OPC_SwitchType , 12, MVT::i32,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSHWi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12, MVT::i64,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSHXi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    31,
     OPC_CheckPredicate0,
     OPC_SwitchType , 12, MVT::i32,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSBWi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12, MVT::i64,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSBXi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSWi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   16,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 83,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   93,
    OPC_CheckPredicate, 36,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate, 83,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate, 83,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   7|128,1,
    OPC_CheckPredicate2,
    OPC_SwitchType , 46, MVT::i32,
     OPC_Scope, 14,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     13,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     14,
      OPC_CheckPredicate, 83,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    82, MVT::i64,
     OPC_Scope, 25,
      OPC_CheckPredicate0,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 4, 5, 6,
     26,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 4, 5, 6,
     26,
      OPC_CheckPredicate, 83,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 4, 5, 6,
     0,
    0,
   112,
    OPC_CheckPredicate, 36,
    OPC_CheckTypeI64,
    OPC_Scope, 26,
     OPC_CheckPredicate, 34,
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    25,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 83,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    0,
   28,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_CheckComplexPat, /*CP*/28, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 4, 5, 6,
   112,
    OPC_CheckPredicate, 36,
    OPC_CheckTypeI64,
    OPC_Scope, 26,
     OPC_CheckPredicate, 34,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    25,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 83,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    0,
   36|128,1,
    OPC_CheckPredicate2,
    OPC_CheckTypeI64,
    OPC_Scope, 26,
     OPC_CheckPredicate, 34,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    25,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 83,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    25,
     OPC_CheckPredicate0,
     OPC_CheckComplexPat, /*CP*/19, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    26,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 4, 5, 6,
    0,
   16|128,1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 33, MVT::f16,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f16, 4, 2, 3, 4, 5,
     0,
    33, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 4, 2, 3, 4, 5,
     0,
    33, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 4, 2, 3, 4, 5,
     0,
    33, MVT::f128,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 4, 2, 3, 4, 5,
     0,
    0,
   0,
  48,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADR),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 148,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckPredicate, 23,
   OPC_SwitchType , 9, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSl), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 1, 1,
   9, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDl), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 1, 1,
   9, MVT::f128,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQl), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f128, 1, 1,
   0,
  119|128,39,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_Scope, 12|128,6,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 29, MVT::f16,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f16, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f16, 2, 2, 3,
     0,
    29, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     0,
    29, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     0,
    45, MVT::f128,
     OPC_Scope, 29,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/51, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f128, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/37, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f128, 2, 2, 3,
      0,
     12,
      OPC_CheckComplexPat, /*CP*/51, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 2, 2, 3,
     0,
    28, MVT::bf16,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::bf16, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::bf16, 2, 2, 3,
     0,
    34, MVT::v2i32,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 4, 2, 3, 4, 5,
     0,
    34, MVT::v8i8,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 4, 2, 3, 4, 5,
     0,
    34, MVT::v4i16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 4, 2, 3, 4, 5,
     0,
    32, MVT::v1i64,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v1i64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v1i64, 4, 2, 3, 4, 5,
     0,
    34, MVT::v2i64,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 4, 2, 3, 4, 5,
     0,
    34, MVT::v4i32,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 4, 2, 3, 4, 5,
     0,
    34, MVT::v8i16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 4, 2, 3, 4, 5,
     0,
    34, MVT::v16i8,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 4, 2, 3, 4, 5,
     0,
    95, 42|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       42|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/12, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       42|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      42|128,1, 2, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      42|128,1, 3, 5, 2, 3,
     0,
    71, 48|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       48|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/9, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       48|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 2, 2, 3,
     0,
    71, 53|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       53|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/23, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       53|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 2, 2, 3,
     0,
    71, 58|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       58|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/33, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       58|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 2, 2, 3,
     0,
    0,
   83,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 23, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   84,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 23, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   83,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 23, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   28,
    OPC_CheckPredicate, 23,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 5, 2, 3,
   57,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   58,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   57,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 23, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   28,
    OPC_CheckPredicate, 23,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 5, 2, 3,
   29,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   30,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   29,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   57,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 23, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    24, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 5, 2, 3,
    0,
   86,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 24, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   87,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 24, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   86,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 98,
    OPC_SwitchType , 24, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 5, 2, 3,
    24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   29,
    OPC_CheckPredicate, 23,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 5, 2, 3,
   59,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   60,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   59,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 99,
    OPC_SwitchType , 24, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    24, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   29,
    OPC_CheckPredicate, 23,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/23, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 5, 2, 3,
   30,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/23, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   31,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/23, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   30,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 100,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/23, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   77|128,5,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 98, 58|128,1,
     OPC_Scope, 24,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 5, 2, 3,
     25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 5, 2, 3,
     44,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       58|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       58|128,1, 2, 1, 2,
      0,
     0,
    43, MVT::v8i8,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev8b), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 1, 1,
     0,
    43, MVT::v4i16,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev4h), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 1, 1,
     0,
    43, MVT::v2i32,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev2s), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 1, 1,
     0,
    38, MVT::v1i64,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v1i64, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v1i64, 2, 2, 3,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev1d), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v1i64, 1, 1,
     0,
    43, MVT::v16i8,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/51, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/37, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev16b), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 1, 1,
     0,
    43, MVT::v8i16,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/51, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/37, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev8h), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 1, 1,
     0,
    43, MVT::v4i32,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/51, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/37, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev4s), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 1, 1,
     0,
    43, MVT::v2i64,
     OPC_Scope, 30,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/51, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/37, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 2, 2, 3,
      0,
     9,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev2d), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 1, 1,
     0,
    31, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 13,
      OPC_CheckComplexPat, /*CP*/143, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_PXI), 0|OPFL_Chain|OPFL_MemRefs,
                      35|128,1, 2, 2, 3,
     13,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_PXI), 0|OPFL_Chain|OPFL_MemRefs,
                      35|128,1, 2, 1, 2,
     0,
    73, 48|128,1,
     OPC_Scope, 25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 5, 2, 3,
     44,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       48|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       48|128,1, 2, 1, 2,
      0,
     0,
    73, 53|128,1,
     OPC_Scope, 25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 5, 2, 3,
     44,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       53|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       53|128,1, 2, 1, 2,
      0,
     0,
    68, 42|128,1,
     OPC_CheckChild1TypeI64,
     OPC_Scope, 25,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      42|128,1, 3, 3, 1, 4,
     14,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      42|128,1, 2, 1, 2,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      42|128,1, 3, 3, 1, 4,
     0,
    0,
   97|128,4,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 83,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 98,
     OPC_SwitchType , 23, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 3, 1, 4,
     23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    84,
     OPC_CheckPredicate, 36,
     OPC_CheckPredicate, 98,
     OPC_SwitchType , 23, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 3, 1, 4,
     23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    83,
     OPC_CheckPredicate3,
     OPC_CheckPredicate, 98,
     OPC_SwitchType , 23, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 3, 1, 4,
     23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    28,
     OPC_CheckPredicate, 23,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 3, 1, 4,
    57,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 99,
     OPC_SwitchType , 23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    58,
     OPC_CheckPredicate, 36,
     OPC_CheckPredicate, 99,
     OPC_SwitchType , 23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    57,
     OPC_CheckPredicate3,
     OPC_CheckPredicate, 99,
     OPC_SwitchType , 23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 3, 1, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    28,
     OPC_CheckPredicate, 23,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 3, 1, 4,
    29,
     OPC_CheckPredicate2,
     OPC_CheckPredicate, 100,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 3, 1, 4,
    30,
     OPC_CheckPredicate, 36,
     OPC_CheckPredicate, 100,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 3, 1, 4,
    29,
     OPC_CheckPredicate3,
     OPC_CheckPredicate, 100,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 3, 1, 4,
    28,
     OPC_CheckPredicate, 23,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 3, 1, 4,
    0,
   97|128,13,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 64, 2|128,1,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 15,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      2|128,1, 4, 2, 3, 4, 5,
     15,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      2|128,1, 4, 2, 3, 4, 5,
     13,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      2|128,1, 2, 2, 3,
     13,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      2|128,1, 2, 2, 3,
     0,
    60, MVT::v4f16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4f16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4f16, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4f16, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4f16, 2, 2, 3,
     0,
    47, MVT::v4bf16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4bf16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4bf16, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4bf16, 2, 2, 3,
     0,
    62, 21|128,1,
     OPC_Scope, 15,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      21|128,1, 4, 2, 3, 4, 5,
     15,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      21|128,1, 4, 2, 3, 4, 5,
     13,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      21|128,1, 2, 2, 3,
     13,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      21|128,1, 2, 2, 3,
     0,
    64, 22|128,1,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 15,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 4, 2, 3, 4, 5,
     15,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 4, 2, 3, 4, 5,
     13,
      OPC_CheckComplexPat, /*CP*/51, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 2, 3,
     13,
      OPC_CheckComplexPat, /*CP*/37, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 2, 2, 3,
     0,
    64, 4|128,1,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 15,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 4, 2, 3, 4, 5,
     15,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 4, 2, 3, 4, 5,
     13,
      OPC_CheckComplexPat, /*CP*/51, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 2, 3,
     13,
      OPC_CheckComplexPat, /*CP*/37, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 2, 2, 3,
     0,
    60, MVT::v8f16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/51, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/37, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 2, 2, 3,
     0,
    47, MVT::v8bf16,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/52, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8bf16, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/53, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8bf16, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/51, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8bf16, 2, 2, 3,
     0,
    89|128,1, 66|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/9, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      66|128,1, 2, 2, 3,
     50,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/9, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 5, 2, 3,
      0,
     25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      66|128,1, 3, 5, 2, 3,
     68,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 2, 1, 2,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       66|128,1, 3, 3, 1, 4,
      0,
     0,
    89|128,1, 72|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/9, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      72|128,1, 2, 2, 3,
     50,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/9, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 5, 2, 3,
      0,
     25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      72|128,1, 3, 5, 2, 3,
     68,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 2, 1, 2,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       72|128,1, 3, 3, 1, 4,
      0,
     0,
    89|128,1, 77|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/23, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 2, 2, 3,
     50,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/23, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 5, 2, 3,
      0,
     25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 5, 2, 3,
     68,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 2, 1, 2,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       77|128,1, 3, 3, 1, 4,
      0,
     0,
    89|128,1, 81|128,1,
     OPC_Scope, 52,
      OPC_CheckPredicate, 61,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/33, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 5, 2, 3,
      0,
     15,
      OPC_CheckPatternPredicate, 32,
      OPC_CheckComplexPat, /*CP*/55, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                      81|128,1, 2, 2, 3,
     50,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 22,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 5, 2, 3,
      23,
       OPC_CheckComplexPat, /*CP*/33, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 4,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 5, 2, 3,
      0,
     25,
      OPC_CheckPatternPredicate, 23,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                      81|128,1, 3, 5, 2, 3,
     68,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 25,
       OPC_CheckPredicate, 61,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 3, 1, 4,
      14,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDR_ZXI), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 2, 1, 2,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 31,
       OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                       31|128,1, 1, 2,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 3, 1, 4,
      0,
     0,
    74, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 22,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 3, 1, 4,
     0,
    74, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 22,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 3, 1, 4,
     0,
    74, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 22,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 3, 1, 4,
     0,
    74, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 22,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      70|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      70|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      70|128,1, 3, 3, 1, 4,
     0,
    74, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 22,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 5, 2, 3,
     23,
      OPC_CheckChild1TypeI64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 3, 1, 4,
     0,
    0,
   0,
  0,
 117|128,61|128,1, TARGET_VAL(ISD::AND),
  OPC_Scope, 53|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 95, TARGET_VAL(AArch64ISD::UADDV),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   95, TARGET_VAL(AArch64ISD::UMAXV),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   95, TARGET_VAL(AArch64ISD::UMINV),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 107,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitRegisterI64, AArch64::XZR,
   OPC_EmitConvertToTarget1,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELXr),
                   MVT::i64, 3, 3, 0, 4,
  40,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 107,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitRegisterI64, AArch64::XZR,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELXr),
                   MVT::i64, 3, 3, 2, 4,
  110,
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat, /*CP*/44, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICWrs),
                     MVT::i32, 3, 0, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat, /*CP*/45, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICXrs),
                     MVT::i64, 3, 0, 2, 3,
    0,
   69,
    OPC_MoveChild0,
    OPC_Scope, 32,
     OPC_CheckPredicate, 130,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild1Integer, 1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitConvertToTarget1,
     OPC_EmitCopyToReg2, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELWr),
                     MVT::i32, 3, 3, 0, 4,
    32,
     OPC_CheckPredicate, 107,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CSEL),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild1Integer, 1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitConvertToTarget1,
     OPC_EmitCopyToReg2, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELXr),
                     MVT::i64, 3, 3, 0, 4,
    0,
   0,
  93,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 33, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat, /*CP*/44, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICWrs),
                     MVT::i32, 3, 1, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICXrs),
                     MVT::i64, 3, 1, 2, 3,
    0,
   51, TARGET_VAL(AArch64ISD::CSEL),
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_Scope, 17,
     OPC_CheckPredicate, 130,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELWr),
                     MVT::i32, 3, 3, 2, 4,
    17,
     OPC_CheckPredicate, 107,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELXr),
                     MVT::i64, 3, 3, 2, 4,
    0,
   0,
  47,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI64, 0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMOVvi8),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 4, 5,
  47,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI64, 0,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMOVvi16),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 4, 5,
  58,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 42|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v16i8, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMOVvi8),
                   MVT::i32, 2, 4, 5,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 6, 7,
  58,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i16, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMOVvi16),
                   MVT::i32, 2, 4, 5,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 6, 7,
  33|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 91, TARGET_VAL(AArch64ISD::UADDV),
    OPC_RecordChild0,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   91, TARGET_VAL(AArch64ISD::UMAXV),
    OPC_RecordChild0,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   91, TARGET_VAL(AArch64ISD::UMINV),
    OPC_RecordChild0,
    OPC_SwitchType , 42, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 115,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv16i8v),
                     MVT::i8, 1, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    42, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 116,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i16v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 2, 3,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 5,
    0,
   0,
  36,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 78|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 91,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRB),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  37,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 78|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 92,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRH),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  39,
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 78|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 93,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRW),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  36,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 75|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 91,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRB),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  37,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 75|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 92,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRH),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  39,
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 75|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_CheckPredicate, 93,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRW),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 2, 3, 4,
  29,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi8),
                   MVT::i32, 2, 0, 2,
  29,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi16),
                   MVT::i32, 2, 0, 2,
  40,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 42|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v16i8, 2, 0, 2,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi8),
                   MVT::i32, 2, 3, 4,
  40,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate5,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i16, 2, 0, 2,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMOVvi16),
                   MVT::i32, 2, 3, 4,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICWrr),
                    MVT::i32, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICXrr),
                    MVT::i64, 2, 0, 1,
   0,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICWrr),
                    MVT::i32, 2, 1, 0,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICXrr),
                    MVT::i64, 2, 1, 0,
   0,
  38,
   OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
   OPC_RecordChild0,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI64, 0,
   OPC_EmitRegisterI32, AArch64::WZR,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ORRWrr),
                   MVT::i32, 2, 2, 4,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 1, 5, 6,
  66|128,2,
   OPC_RecordChild0,
   OPC_Scope, 114,
    OPC_RecordChild1,
    OPC_Scope, 38,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 15,
      OPC_CheckPredicate, 131,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 7, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDWri),
                      MVT::i32, 2, 0, 3,
     15,
      OPC_CheckPredicate, 132,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 8, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDXri),
                      MVT::i64, 2, 0, 3,
     0,
    35,
     OPC_CheckTypeI32,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDWrs),
                      MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDWrs),
                      MVT::i32, 3, 1, 2, 3,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDWrr),
                      MVT::i32, 2, 0, 1,
     0,
    35,
     OPC_CheckTypeI64,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDXrs),
                      MVT::i64, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDXrs),
                      MVT::i64, 3, 1, 2, 3,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDXrr),
                      MVT::i64, 2, 0, 1,
     0,
    0,
   74|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 35|128,1,
     OPC_RecordChild0,
     OPC_Scope, 111,
      OPC_CheckChild0TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_Scope, 50,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 12, 42|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/59, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        42|128,1, 2, 0, 2,
       12, 48|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/60, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        48|128,1, 2, 0, 2,
       12, 53|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/61, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        53|128,1, 2, 0, 2,
       0,
      50,
       OPC_CheckChild0TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 12, 42|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/59, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        42|128,1, 2, 0, 2,
       12, 48|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/60, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        48|128,1, 2, 0, 2,
       12, 53|128,1,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat, /*CP*/61, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                        53|128,1, 2, 0, 2,
       0,
      0,
     47,
      OPC_CheckChild0TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_Scope, 18,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/62, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                       58|128,1, 2, 0, 2,
      18,
       OPC_CheckChild0TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/62, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                       58|128,1, 2, 0, 2,
      0,
     0,
    26,
     OPC_CheckChild0Integer, 127,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/59, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     42|128,1, 2, 0, 2,
    0,
   0,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/59, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   42|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/60, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   48|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/60, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   48|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/61, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   53|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/61, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   53|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/62, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   58|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 1, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/62, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   58|128,1, 2, 0, 2,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 1, 2,
   27,
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 1, 2,
   0,
  122,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 87,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 57,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 14, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/59, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                      42|128,1, 2, 0, 3,
     14, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/60, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                      48|128,1, 2, 0, 3,
     14, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/61, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                      53|128,1, 2, 0, 3,
     0,
    21,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/62, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     58|128,1, 2, 0, 3,
    0,
   26,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat, /*CP*/59, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 0, 3,
   0,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 2, 3,
   27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_CheckComplexPat, /*CP*/59, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    42|128,1, 2, 2, 3,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_CheckComplexPat, /*CP*/60, /*#*/2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   48|128,1, 2, 0, 3,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 2, 3,
   27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_CheckComplexPat, /*CP*/60, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    48|128,1, 2, 2, 3,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_CheckComplexPat, /*CP*/61, /*#*/2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   53|128,1, 2, 0, 3,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 2, 3,
   27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_CheckComplexPat, /*CP*/61, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    53|128,1, 2, 2, 3,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_CheckComplexPat, /*CP*/62, /*#*/2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                   58|128,1, 2, 0, 3,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 2, 3,
   27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 2, 3,
   0,
  28|128,26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
   OPC_RecordChild0,
   OPC_Scope, 67|128,6,
    OPC_CheckChild0Type, 35|128,1,
    OPC_Scope, 40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 0, 3, 4,
    0,
   67|128,6,
    OPC_CheckChild0Type, 34|128,1,
    OPC_Scope, 40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 0, 3, 4,
    0,
   67|128,6,
    OPC_CheckChild0Type, 33|128,1,
    OPC_Scope, 40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 0, 3, 4,
    0,
   67|128,6,
    OPC_CheckChild0Type, 32|128,1,
    OPC_Scope, 40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    40,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 2, 4,
    41,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 0, 3, 4,
    0,
   0,
  19|128,25,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
   OPC_RecordChild0,
   OPC_Scope, 33|128,6,
    OPC_CheckChild0Type, 35|128,1,
    OPC_Scope, 41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    72,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_B),
                      35|128,1, MVT::i32, 3, 3, 1, 4,
     27,
      OPC_CheckPredicate, 22,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                      35|128,1, MVT::i32, 3, 3, 1, 4,
     0,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                     35|128,1, MVT::i32, 3, 3, 2, 4,
    0,
   33|128,6,
    OPC_CheckChild0Type, 34|128,1,
    OPC_Scope, 41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    72,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_H),
                      34|128,1, MVT::i32, 3, 3, 1, 4,
     27,
      OPC_CheckPredicate, 22,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                      34|128,1, MVT::i32, 3, 3, 1, 4,
     0,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                     34|128,1, MVT::i32, 3, 3, 2, 4,
    0,
   33|128,6,
    OPC_CheckChild0Type, 33|128,1,
    OPC_Scope, 41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    72,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_S),
                      33|128,1, MVT::i32, 3, 3, 1, 4,
     27,
      OPC_CheckPredicate, 22,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                      33|128,1, MVT::i32, 3, 3, 1, 4,
     0,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                     33|128,1, MVT::i32, 3, 3, 2, 4,
    0,
   33|128,6,
    OPC_CheckChild0Type, 32|128,1,
    OPC_Scope, 41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    72,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_D),
                      32|128,1, MVT::i32, 3, 3, 1, 4,
     27,
      OPC_CheckPredicate, 47,
      OPC_MoveParent,
      OPC_MoveSibling3,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                      32|128,1, MVT::i32, 3, 3, 1, 4,
     0,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    41,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling3,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 1, 4,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 47,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                     32|128,1, MVT::i32, 3, 3, 2, 4,
    0,
   0,
  23|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 119|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_Scope, 118,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      42|128,1, 2, 0, 1,
     9, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      48|128,1, 2, 0, 1,
     9, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      53|128,1, 2, 0, 1,
     9, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      58|128,1, 2, 0, 1,
     10, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      35|128,1, 3, 0, 0, 1,
     10, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      34|128,1, 3, 0, 0, 1,
     10, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      33|128,1, 3, 0, 0, 1,
     10, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      32|128,1, 3, 0, 0, 1,
     10, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      31|128,1, 3, 0, 0, 1,
     0,
    118,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 9, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      42|128,1, 2, 0, 1,
     9, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      48|128,1, 2, 0, 1,
     9, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      53|128,1, 2, 0, 1,
     9, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                      58|128,1, 2, 0, 1,
     10, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      35|128,1, 3, 0, 0, 1,
     10, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      34|128,1, 3, 0, 0, 1,
     10, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      33|128,1, 3, 0, 0, 1,
     10, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      32|128,1, 3, 0, 0, 1,
     10, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                      31|128,1, 3, 0, 0, 1,
     0,
    0,
   22,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 0, 1,
   0,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   42|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   48|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   48|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   53|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   53|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   58|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 1, 0,
   0,
  27,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   58|128,1, 2, 0, 1,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 23,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 1, 0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   35|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   35|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   34|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   34|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   33|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   33|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   32|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   32|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   31|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 1, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   31|128,1, 3, 0, 0, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 1, 1, 0,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 1, 1, 0,
   0,
  114|128,20,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
   OPC_RecordChild0,
   OPC_Scope, 59|128,3,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_Scope, 35,
     OPC_CheckCondCode, ISD::SETOGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETOLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     0,
    35,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     0,
    35,
     OPC_CheckCondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETOLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     0,
    35,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     0,
    35,
     OPC_CheckCondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETUNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    35,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 0, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 0, 3,
     0,
    0,
   120|128,6,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_Scope, 55|128,3,
     OPC_CheckChild1Type, 65|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 35,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 3,
      0,
     0,
    55|128,3,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 35,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 3,
      0,
     0,
    0,
   49|128,10,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_Scope, 55|128,3,
     OPC_CheckChild1Type, 64|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 35,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 3,
      0,
     0,
    55|128,3,
     OPC_CheckChild1Type, 76|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 35,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 3,
      0,
     0,
    55|128,3,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 35,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 3,
      0,
     0,
    0,
   0,
  57|128,21,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
   OPC_RecordChild0,
   OPC_Scope, 71|128,3,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_Scope, 36,
     OPC_CheckCondCode, ISD::SETOGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETOLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     0,
    36,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     0,
    36,
     OPC_CheckCondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETOLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     0,
    36,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     0,
    36,
     OPC_CheckCondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETUNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    36,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                      34|128,1, 2, 3, 2,
     0,
    0,
   16|128,7,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_Scope, 67|128,3,
     OPC_CheckChild1Type, 65|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 36,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 3, 2,
      0,
     0,
    67|128,3,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 36,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 3, 2,
      0,
     0,
    0,
   85|128,10,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_Scope, 67|128,3,
     OPC_CheckChild1Type, 64|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 36,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 3, 2,
      0,
     0,
    67|128,3,
     OPC_CheckChild1Type, 76|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 36,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 3, 2,
      0,
     0,
    67|128,3,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 36,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      0,
     36,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     36,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 3, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 3, 2,
      0,
     0,
    0,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 49,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/107, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     42|128,1, 2, 0, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     48|128,1, 2, 0, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     53|128,1, 2, 0, 2,
    0,
   17,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 0, 2,
   0,
  77,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 50,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/107, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     42|128,1, 2, 1, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     48|128,1, 2, 1, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     53|128,1, 2, 1, 2,
    0,
   18,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 1, 2,
   0,
  31|128,26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 87, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v8i8, 2, 0, 1,
    8, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v16i8, 2, 0, 1,
    8, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v4i16, 2, 0, 1,
    8, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v2i32, 2, 0, 1,
    8, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v1i64, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v2i64, 2, 0, 1,
    0,
   61|128,25, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
    OPC_RecordChild0,
    OPC_Scope, 3|128,2,
     OPC_CheckChild0Type, 35|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 21,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 3,
     21,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 3, 2,
     21,
      OPC_CheckCondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 3,
     21,
      OPC_CheckCondCode, ISD::SETULT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 3, 2,
     21,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 3,
     21,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 3, 2,
     21,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 3,
     21,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 3, 2,
     35,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                       35|128,1, MVT::i32, 3, 0, 2, 3,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                       35|128,1, MVT::i32, 3, 0, 3, 2,
      0,
     35,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_B),
                       35|128,1, MVT::i32, 3, 0, 2, 3,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_B),
                       35|128,1, MVT::i32, 3, 0, 3, 2,
      0,
     0,
    118|128,4,
     OPC_CheckChild0Type, 34|128,1,
     OPC_RecordChild1,
     OPC_Scope, 127|128,1,
      OPC_CheckChild1Type, 48|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 3, 2,
      35,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                        34|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                        34|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      35,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_H),
                        34|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_H),
                        34|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 66|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        34|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        34|128,1, 3, 0, 3, 2,
       0,
      0,
     0,
    101|128,7,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_Scope, 127|128,1,
      OPC_CheckChild1Type, 53|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 3, 2,
      35,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        33|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                        33|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      35,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_S),
                        33|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_S),
                        33|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 65|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        33|128,1, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 77|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        33|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        33|128,1, 3, 0, 3, 2,
       0,
      0,
     0,
    84|128,10,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_Scope, 127|128,1,
      OPC_CheckChild1Type, 58|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 3, 2,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 3,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 3, 2,
      35,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                        32|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                        32|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      35,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_D),
                        32|128,1, MVT::i32, 3, 0, 2, 3,
       10,
        OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_D),
                        32|128,1, MVT::i32, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 64|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                        32|128,1, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 76|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                        32|128,1, 3, 0, 3, 2,
       0,
      0,
     109|128,2,
      OPC_CheckChild1Type, 81|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 20,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 3, 2,
      20,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 2, 3,
      20,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 3, 2,
      33,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       0,
      33,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       0,
      53,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_Scope, 9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                        32|128,1, 3, 0, 2, 3,
       9,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                        32|128,1, 3, 0, 3, 2,
       0,
      0,
     0,
    0,
   0,
  39|128,22,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 88, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v8i8, 2, 1, 0,
    8, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v16i8, 2, 1, 0,
    8, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v4i16, 2, 1, 0,
    8, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v2i32, 2, 1, 0,
    8, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i8),
                     MVT::v1i64, 2, 1, 0,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v8i16, 2, 1, 0,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v4i32, 2, 1, 0,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv16i8),
                     MVT::v2i64, 2, 1, 0,
    0,
   69|128,21, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
    OPC_RecordChild0,
    OPC_Scope, 113|128,1,
     OPC_CheckChild0Type, 35|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 22,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     22,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 2, 1,
     22,
      OPC_CheckCondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     22,
      OPC_CheckCondCode, ISD::SETULT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 2, 1,
     22,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     22,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 2, 1,
     22,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     22,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 2, 1,
     22,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     22,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 35|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 3, 1, 2,
     0,
    28|128,4,
     OPC_CheckChild0Type, 34|128,1,
     OPC_RecordChild1,
     OPC_Scope, 109|128,1,
      OPC_CheckChild1Type, 48|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 22,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 66|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       34|128,1, 3, 3, 1, 2,
      0,
     0,
    67|128,6,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_Scope, 109|128,1,
      OPC_CheckChild1Type, 53|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 22,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 65|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       33|128,1, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 77|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       33|128,1, 3, 3, 1, 2,
      0,
     0,
    106|128,8,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_Scope, 109|128,1,
      OPC_CheckChild1Type, 58|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 22,
       OPC_CheckCondCode, ISD::SETUGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETUGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETULT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 2, 1,
      22,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      22,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 64|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       32|128,1, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 76|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       32|128,1, 3, 3, 1, 2,
      0,
     37|128,2,
      OPC_CheckChild1Type, 81|128,1,
      OPC_RecordChild2,
      OPC_MoveChild3,
      OPC_Scope, 21,
       OPC_CheckCondCode, ISD::SETOGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETOLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETLT,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 3, 2, 1,
      21,
       OPC_CheckCondCode, ISD::SETOEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      21,
       OPC_CheckCondCode, ISD::SETUO,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                       32|128,1, 3, 3, 1, 2,
      0,
     0,
    0,
   0,
  27|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 25, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                     42|128,1, 2, 0, 1,
    10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                     42|128,1, 2, 0, 2,
    0,
   11, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 0, 1,
   11, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 0, 1,
   11, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 0, 1,
   12, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 0, 0, 1,
   12, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 0, 0, 1,
   12, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 0, 0, 1,
   12, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 0, 0, 1,
   12, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 0, 0, 1,
   0,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 2, 0,
   10,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 2, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   48|128,1, 2, 0, 2,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 2, 0,
   10,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 2, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   53|128,1, 2, 0, 2,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 2, 0,
   10,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 2, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                   58|128,1, 2, 0, 2,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 10,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 2, 0,
   10,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 2, 1,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   35|128,1, 3, 0, 0, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 2, 2, 0,
   11,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 2, 2, 1,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   34|128,1, 3, 0, 0, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 2, 2, 0,
   11,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 2, 2, 1,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   33|128,1, 3, 0, 0, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 2, 2, 0,
   11,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 2, 2, 1,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   32|128,1, 3, 0, 0, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 2, 2, 0,
   11,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 2, 2, 1,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                   31|128,1, 3, 0, 0, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 11,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 2, 2, 0,
   11,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 2, 2, 1,
   0,
  51|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv8i8),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv8i8),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv8i8),
                    MVT::v1i64, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::v2i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZZZ),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZZZ),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZZZ),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZZZ),
                    58|128,1, 2, 0, 1,
   32, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     35|128,1, 3, 0, 0, 1,
    18,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     35|128,1, 3, 3, 0, 1,
    0,
   32, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     34|128,1, 3, 0, 0, 1,
    18,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     34|128,1, 3, 3, 0, 1,
    0,
   32, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     33|128,1, 3, 0, 0, 1,
    18,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     33|128,1, 3, 3, 0, 1,
    0,
   32, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     32|128,1, 3, 0, 0, 1,
    18,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     32|128,1, 3, 3, 0, 1,
    0,
   32, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     31|128,1, 3, 0, 0, 1,
    18,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_PPzPP),
                     31|128,1, 3, 3, 0, 1,
    0,
   0,
  0,
 21|128,51, TARGET_VAL(ISD::SUB),
  OPC_Scope, 32|128,8,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 50|128,5, TARGET_VAL(ISD::MUL),
    OPC_Scope, 98|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 53,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     53,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     0,
    95|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 52,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 6, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     52,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 6, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     52,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 6, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     52,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 6, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     0,
    118,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 27,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     27,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     0,
    115,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 26,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 0, 2, 3,
     26,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 0, 2, 3,
     26,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 0, 2, 3,
     26,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 0, 2, 3,
     0,
    0,
   98|128,2, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 98|128,1, TARGET_VAL(ISD::TRUNCATE),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 54,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     54,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     54,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     54,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 6, 1, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     0,
    118, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 28,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     28,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     28,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     28,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_CheckComplexPat, /*CP*/35, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 0, 1, 3,
     0,
    0,
   0,
  45|128,2,
   OPC_CheckChild0Integer, 0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 31|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 52, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 26, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 85,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 3,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                      MVT::i64, 3, 0, 4, 5,
     15, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                      MVT::i64, 3, 0, 1, 2,
     0,
    52, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 26, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 79,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 0, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 3,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                      MVT::i64, 3, 0, 4, 5,
     15, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                      MVT::i64, 3, 0, 1, 2,
     0,
    43, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 85,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 5,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                     MVT::i64, 3, 3, 6, 7,
    0,
   66,
    OPC_RecordChild0,
    OPC_Scope, 30,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                     MVT::i64, 3, 3, 1, 4,
    31,
     OPC_MoveChild0,
     OPC_CheckPredicate, 51,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                     MVT::i64, 3, 3, 1, 4,
    0,
   64,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                     MVT::i64, 3, 3, 0, 4,
    28, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                     MVT::i64, 3, 3, 0, 4,
    0,
   0,
  118,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 30, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                    MVT::i64, 3, 1, 5, 0,
   30, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 79,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                    MVT::i64, 3, 1, 5, 0,
   41, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                    MVT::i64, 3, 4, 7, 0,
   0,
  45,
   OPC_CheckChild0Integer, 0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 51,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 51,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_EmitRegisterI64, AArch64::XZR,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                   MVT::i64, 3, 3, 5, 6,
  76|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 18|128,3, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 50,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECB_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECH_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECW_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    50,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DECD_XPiI),
                     MVT::i64, 3, 4, 1, 5,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    62|128,1,
     OPC_CheckChild0Integer, 86|128,10,
     OPC_RecordChild1,
     OPC_Scope, 45,
      OPC_CheckChild1Type, 35|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 35|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_B),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 34|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 34|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_H),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 33|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 33|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_S),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     45,
      OPC_CheckChild1Type, 32|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 32|128,1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_D),
                      MVT::i64, 2, 2, 5,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 6, 7,
     0,
    0,
   47, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 19, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                     MVT::i64, 3, 1, 2, 0,
    19, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                     MVT::i64, 3, 1, 2, 0,
    0,
   0,
  71,
   OPC_CheckChild0Integer, 0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 32,
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                    MVT::i64, 3, 3, 5, 6,
   27,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBWrrr),
                     MVT::i32, 3, 0, 1, 2,
    10, MVT::i64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBXrrr),
                     MVT::i64, 3, 0, 1, 2,
    0,
   0,
  87|128,6,
   OPC_RecordChild0,
   OPC_Scope, 40|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 95|128,1, TARGET_VAL(ISD::TRUNCATE),
     OPC_Scope, 40,
      OPC_RecordChild0,
      OPC_CheckPredicate, 138,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckComplexPat, /*CP*/70, /*#*/1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrs),
                      MVT::i64, 3, 6, 2, 3,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 7, 8,
     50|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_CheckChild0Integer, 86|128,10,
      OPC_RecordChild1,
      OPC_Scope, 41,
       OPC_CheckChild1Type, 35|128,1,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 0, 3,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_B),
                       MVT::i64, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 5, 6,
      41,
       OPC_CheckChild1Type, 34|128,1,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 0, 3,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_H),
                       MVT::i64, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 5, 6,
      41,
       OPC_CheckChild1Type, 33|128,1,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 0, 3,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_S),
                       MVT::i64, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 5, 6,
      41,
       OPC_CheckChild1Type, 32|128,1,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i64, 0,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::i64, 3, 2, 0, 3,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DECP_XP_D),
                       MVT::i64, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 5, 6,
      0,
     0,
    61|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_Scope, 24,
      OPC_CheckChild0Integer, 83|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECB_XPiI),
                      MVT::i64, 3, 0, 1, 2,
     24,
      OPC_CheckChild0Integer, 85|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_XPiI),
                      MVT::i64, 3, 0, 1, 2,
     24,
      OPC_CheckChild0Integer, 91|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_XPiI),
                      MVT::i64, 3, 0, 1, 2,
     24,
      OPC_CheckChild0Integer, 84|128,10,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 17,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_XPiI),
                      MVT::i64, 3, 0, 1, 2,
     86,
      OPC_CheckChild0Integer, 86|128,10,
      OPC_RecordChild1,
      OPC_Scope, 19,
       OPC_CheckChild1Type, 35|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 35|128,1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_B),
                       MVT::i64, 2, 2, 0,
      19,
       OPC_CheckChild1Type, 34|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 34|128,1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_H),
                       MVT::i64, 2, 2, 0,
      19,
       OPC_CheckChild1Type, 33|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 33|128,1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_S),
                       MVT::i64, 2, 2, 0,
      19,
       OPC_CheckChild1Type, 32|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 32|128,1,
       OPC_CheckPredicate4,
       OPC_MoveParent,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_D),
                       MVT::i64, 2, 2, 0,
      0,
     0,
    126, TARGET_VAL(ISD::MUL),
     OPC_Scope, 62,
      OPC_RecordChild0,
      OPC_Scope, 28,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate, 64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                       MVT::i64, 3, 4, 2, 0,
      29,
       OPC_MoveChild0,
       OPC_CheckPredicate, 51,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                       MVT::i64, 3, 4, 2, 0,
      0,
     60,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 25, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckPredicate, 64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                       MVT::i64, 3, 4, 1, 0,
      26, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling1,
       OPC_RecordNode,
       OPC_CheckPredicate, 51,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, AArch64::sub_32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                       MVT::i64, 3, 4, 1, 0,
      0,
     0,
    0,
   17,
    OPC_MoveChild0,
    OPC_CheckPredicate, 157,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_CheckComplexPat, /*CP*/154, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrx64),
                    MVT::i64, 3, 0, 2, 3,
   61,
    OPC_RecordChild1,
    OPC_SwitchType , 27, MVT::i32,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/101, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrx),
                      MVT::i32, MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/102, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDWri),
                      MVT::i32, 3, 0, 2, 3,
     0,
    27, MVT::i64,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/126, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrx),
                      MVT::i64, MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/103, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDXri),
                      MVT::i64, 3, 0, 2, 3,
     0,
    0,
   41,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 51,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 51,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMSUBLrrr),
                    MVT::i64, 3, 4, 6, 0,
   63,
    OPC_RecordChild1,
    OPC_SwitchType , 28, MVT::i32,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/99, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                      MVT::i32, MVT::i32, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/104, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrs),
                      MVT::i32, MVT::i32, 3, 0, 2, 3,
     0,
    28, MVT::i64,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/100, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                      MVT::i64, MVT::i32, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/70, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrs),
                      MVT::i64, MVT::i32, 3, 0, 2, 3,
     0,
    0,
   111,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 70, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 86|128,10,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild1Type, 35|128,1,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_B),
                      MVT::i64, 2, 1, 0,
     15,
      OPC_CheckChild1Type, 34|128,1,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_H),
                      MVT::i64, 2, 1, 0,
     15,
      OPC_CheckChild1Type, 33|128,1,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_S),
                      MVT::i64, 2, 1, 0,
     15,
      OPC_CheckChild1Type, 32|128,1,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECP_XP_D),
                      MVT::i64, 2, 1, 0,
     0,
    32, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMSUBLrrr),
                     MVT::i64, 3, 4, 6, 0,
    0,
   0,
  11,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv1i64),
                   MVT::i64, 1, 0,
  8|128,3,
   OPC_RecordChild0,
   OPC_Scope, 23,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                     MVT::i32, MVT::i32, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrr),
                     MVT::i64, MVT::i32, 2, 0, 1,
    0,
   107|128,2,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 48|128,1, TARGET_VAL(AArch64ISD::SMULL),
     OPC_Scope, 89,
      OPC_RecordChild0,
      OPC_Scope, 42,
       OPC_CheckChild0Type, MVT::v4i16,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv8i16_indexed),
                       MVT::v4i32, 4, 0, 4, 2, 5,
      42,
       OPC_CheckChild0Type, MVT::v2i32,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 2,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i32_indexed),
                       MVT::v2i64, 4, 0, 4, 2, 5,
      0,
     83,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 35, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv8i16_indexed),
                       MVT::v4i32, 4, 0, 4, 1, 5,
      35, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 2,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v2i32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i32_indexed),
                       MVT::v2i64, 4, 0, 4, 1, 5,
      0,
     0,
    48|128,1, TARGET_VAL(AArch64ISD::UMULL),
     OPC_Scope, 89,
      OPC_RecordChild0,
      OPC_Scope, 42,
       OPC_CheckChild0Type, MVT::v4i16,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv8i16_indexed),
                       MVT::v4i32, 4, 0, 4, 2, 5,
      42,
       OPC_CheckChild0Type, MVT::v2i32,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 2,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i32_indexed),
                       MVT::v2i64, 4, 0, 4, 2, 5,
      0,
     83,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 35, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v4i16,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv8i16_indexed),
                       MVT::v4i32, 4, 0, 4, 1, 5,
      35, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 2,
       OPC_CheckChild1TypeI64,
       OPC_CheckType, MVT::v2i32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/3,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i32_indexed),
                       MVT::v2i64, 4, 0, 4, 1, 5,
      0,
     0,
    0,
   0,
  121|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 14|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     16, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     16, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 2, 3,
     0,
    62, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     16, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     16, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 2, 3,
     0,
    0,
   14|128,1, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     16, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     16, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 2, 3,
     0,
    62, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     16, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     16, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 2, 3,
     0,
    0,
   75, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBLv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 3,
    16, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBLv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 2, 3,
    16, MVT::v1i64,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBLv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 2, 3,
    0,
   0,
  56,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 15, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/72, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECH_ZPiI),
                    48|128,1, 3, 0, 3, 2,
   15, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/73, /*#*/1,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECW_ZPiI),
                    53|128,1, 3, 0, 3, 2,
   0,
  21|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 53, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv16i8_v8i16),
                     MVT::v8i16, 2, 2, 3,
    12, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    12, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    0,
   106, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    48, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    0,
   106, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    48, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv16i8_v8i16),
                      MVT::v8i16, 2, 2, 3,
     12, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i16_v4i32),
                      MVT::v4i32, 2, 2, 3,
     12, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i32_v2i64),
                      MVT::v2i64, 2, 2, 3,
     0,
    0,
   0,
  5|128,13,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 115|128,2, TARGET_VAL(AArch64ISD::SMULL),
    OPC_Scope, 85,
     OPC_RecordChild0,
     OPC_Scope, 40,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 1, 2, 4,
     40,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 1, 2, 4,
     0,
    79,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 33, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 3, 1, 4,
     33, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 3, 1, 4,
     0,
    5|128,1,
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv16i8_v8i16),
                      MVT::v8i16, 3, 0, 3, 4,
     53,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_Scope, 17,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/1,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv8i16_v4i32),
                       MVT::v4i32, 3, 0, 3, 4,
      30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i16_indexed),
                       MVT::v4i32, 4, 0, 1, 2, 4,
      0,
     53,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_Scope, 17,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat7, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i32_v2i64),
                       MVT::v2i64, 3, 0, 3, 4,
      30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv2i32_indexed),
                       MVT::v2i64, 4, 0, 1, 2, 4,
      0,
     0,
    67,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 29, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 3, 1, 4,
     29, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 3, 1, 4,
     0,
    0,
   115|128,2, TARGET_VAL(AArch64ISD::UMULL),
    OPC_Scope, 85,
     OPC_RecordChild0,
     OPC_Scope, 40,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 1, 2, 4,
     40,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 1, 2, 4,
     0,
    79,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 33, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 3, 1, 4,
     33, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 3, 1, 4,
     0,
    5|128,1,
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv16i8_v8i16),
                      MVT::v8i16, 3, 0, 3, 4,
     53,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_Scope, 17,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/1,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv8i16_v4i32),
                       MVT::v4i32, 3, 0, 3, 4,
      30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8i16,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate5,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i16_indexed),
                       MVT::v4i32, 4, 0, 1, 2, 4,
      0,
     53,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_Scope, 17,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat7, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i32_v2i64),
                       MVT::v2i64, 3, 0, 3, 4,
      30,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v4i32,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate6,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv2i32_indexed),
                       MVT::v2i64, 4, 0, 1, 2, 4,
      0,
     0,
    67,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 29, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 3, 1, 4,
     29, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 3, 1, 4,
     0,
    0,
   105, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 26,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSCALE),
     OPC_RecordChild0,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/74, /*#*/1,
     OPC_EmitIntegerI32, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DECD_ZPiI),
                     58|128,1, 3, 0, 3, 2,
    75,
     OPC_RecordChild0,
     OPC_Scope, 52,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 13, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/92, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_B),
                       42|128,1, 3, 0, 2, 3,
      13, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/93, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_H),
                       48|128,1, 3, 0, 2, 3,
      13, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/94, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_S),
                       53|128,1, 3, 0, 2, 3,
      0,
     18,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/95, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZI_D),
                      58|128,1, 3, 0, 2, 3,
     0,
    0,
   63, TARGET_VAL(AArch64ISD::MUL_PRED),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate4,
    OPC_MoveParent,
    OPC_SwitchType , 11, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_B_UNDEF),
                     42|128,1, 4, 1, 0, 2, 3,
    11, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_H_UNDEF),
                     48|128,1, 4, 1, 0, 2, 3,
    11, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_S_UNDEF),
                     53|128,1, 4, 1, 0, 2, 3,
    11, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPZZZ_D_UNDEF),
                     58|128,1, 4, 1, 0, 2, 3,
    0,
   93|128,4, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 4|128,1, TARGET_VAL(AArch64ISD::UMULL),
     OPC_RecordChild0,
     OPC_Scope, 42,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMLSLv8i8_v8i16),
                      MVT::v8i16, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 6, 7,
     42,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMLSLv4i16_v4i32),
                      MVT::v4i32, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 6, 7,
     42,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMLSLv2i32_v2i64),
                      MVT::v2i64, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 6, 7,
     0,
    4|128,1, TARGET_VAL(AArch64ISD::SMULL),
     OPC_RecordChild0,
     OPC_Scope, 42,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMLSLv8i8_v8i16),
                      MVT::v8i16, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 6, 7,
     42,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMLSLv4i16_v4i32),
                      MVT::v4i32, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 6, 7,
     42,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMLSLv2i32_v2i64),
                      MVT::v2i64, 3, 5, 1, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 6, 7,
     0,
    107, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 31, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv8i8_v8i16),
                      MVT::v8i16, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 5, 6,
     31, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv4i16_v4i32),
                      MVT::v4i32, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 5, 6,
     31, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv2i32_v2i64),
                      MVT::v2i64, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 5, 6,
     0,
    107, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 31, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv8i8_v8i16),
                      MVT::v8i16, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 5, 6,
     31, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv4i16_v4i32),
                      MVT::v4i32, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 5, 6,
     31, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::USUBWv2i32_v2i64),
                      MVT::v2i64, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 5, 6,
     0,
    107, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 31, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBWv8i8_v8i16),
                      MVT::v8i16, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 5, 6,
     31, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBWv4i16_v4i32),
                      MVT::v4i32, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 5, 6,
     31, MVT::v1i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSUBWv2i32_v2i64),
                      MVT::v2i64, 2, 4, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 5, 6,
     0,
    0,
   41, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   41, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   41, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv16i8_v8i16),
                     MVT::v8i16, 2, 0, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv8i16_v4i32),
                     MVT::v4i32, 2, 0, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv4i32_v2i64),
                     MVT::v2i64, 2, 0, 2,
    0,
   0,
  113|128,2,
   OPC_MoveChild0,
   OPC_Scope, 80,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 53,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/92, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZI_B),
                      42|128,1, 3, 1, 2, 3,
     13, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/93, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZI_H),
                      48|128,1, 3, 1, 2, 3,
     13, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/94, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZI_S),
                      53|128,1, 3, 1, 2, 3,
     0,
    19,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/95, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZI_D),
                     58|128,1, 3, 1, 2, 3,
    0,
   42,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBLv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   81,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 34, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    34, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   81,
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 34, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    34, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBLv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   77,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv8i8),
                     MVT::v8i8, 1, 0,
    7, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv16i8),
                     MVT::v16i8, 1, 0,
    7, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv4i16),
                     MVT::v4i16, 1, 0,
    7, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv8i16),
                     MVT::v8i16, 1, 0,
    7, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv2i32),
                     MVT::v2i32, 1, 0,
    7, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv4i32),
                     MVT::v4i32, 1, 0,
    7, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv2i64),
                     MVT::v2i64, 1, 0,
    7, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEGv1i64),
                     MVT::v1i64, 1, 0,
    0,
   0,
  81|128,3,
   OPC_RecordChild0,
   OPC_Scope, 71|128,2,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 51, TARGET_VAL(AArch64ISD::SMULL),
     OPC_RecordChild0,
     OPC_Scope, 15,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv8i8_v8i16),
                      MVT::v8i16, 3, 0, 1, 2,
     15,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv4i16_v4i32),
                      MVT::v4i32, 3, 0, 1, 2,
     15,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLSLv2i32_v2i64),
                      MVT::v2i64, 3, 0, 1, 2,
     0,
    10|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSUBWv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     23, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 127|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                      42|128,1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_B),
                      42|128,1, 3, 1, 0, 4,
     23, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 127|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                      42|128,1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_H),
                      48|128,1, 3, 1, 0, 4,
     23, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 127|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                      42|128,1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_S),
                      53|128,1, 3, 1, 0, 4,
     23, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 127|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                      42|128,1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_D),
                      58|128,1, 3, 1, 0, 4,
     0,
    51, TARGET_VAL(AArch64ISD::UMULL),
     OPC_RecordChild0,
     OPC_Scope, 15,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv8i8_v8i16),
                      MVT::v8i16, 3, 0, 1, 2,
     15,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv4i16_v4i32),
                      MVT::v4i32, 3, 0, 1, 2,
     15,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLSLv2i32_v2i64),
                      MVT::v2i64, 3, 0, 1, 2,
     0,
    34, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    34, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv8i8_v8i16),
                      MVT::v8i16, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv4i16_v4i32),
                      MVT::v4i32, 2, 0, 1,
     8, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USUBWv2i32_v2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   3|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv8i8),
                     MVT::v8i8, 2, 0, 1,
    8, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv16i8),
                     MVT::v16i8, 2, 0, 1,
    8, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv4i16),
                     MVT::v4i16, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv2i32),
                     MVT::v2i32, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv2i64),
                     MVT::v2i64, 2, 0, 1,
    8, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBv1i64),
                     MVT::v1i64, 2, 0, 1,
    9, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZZZ_B),
                     42|128,1, 2, 0, 1,
    9, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZZZ_H),
                     48|128,1, 2, 0, 1,
    9, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZZZ_S),
                     53|128,1, 2, 0, 1,
    9, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZZZ_D),
                     58|128,1, 2, 0, 1,
    0,
   0,
  0,
 51, TARGET_VAL(ISD::ATOMIC_FENCE),
  OPC_RecordNode,
  OPC_Scope, 12,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(TargetOpcode::MEMBARRIER),
                   0,
  16,
   OPC_CheckChild1Integer, 4,
   OPC_CheckChild1TypeI64,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 9,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::DMB),
                   1, 1,
  17,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 11,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::DMB),
                   1, 1,
  0,
 29|128,9, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_Scope, 87|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 69|128,5, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_Scope, 42|128,4,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 27|128,2, TARGET_VAL(ISD::INSERT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 89, TARGET_VAL(AArch64ISD::SADDV),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 39, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                        MVT::i8, 1, 0,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                        MVT::i32, 2, 4, 5,
       39, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                        MVT::i16, 1, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                        MVT::i32, 2, 4, 5,
       0,
      89, TARGET_VAL(AArch64ISD::SMAXV),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 39, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                        MVT::i8, 1, 0,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                        MVT::i32, 2, 4, 5,
       39, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                        MVT::i16, 1, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                        MVT::i32, 2, 4, 5,
       0,
      89, TARGET_VAL(AArch64ISD::SMINV),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 0,
       OPC_CheckChild2TypeI64,
       OPC_SwitchType , 39, MVT::v16i8,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i8,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i8v),
                        MVT::i8, 1, 0,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                        MVT::i32, 2, 4, 5,
       39, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveSibling1,
        OPC_CheckValueType, MVT::i16,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i16v),
                        MVT::i16, 1, 0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::v16i8, 3, 1, 2, 3,
        OPC_EmitIntegerI64, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                        MVT::i32, 2, 4, 5,
       0,
      0,
     85, TARGET_VAL(AArch64ISD::SADDV),
      OPC_RecordChild0,
      OPC_SwitchType , 39, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      39, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     85, TARGET_VAL(AArch64ISD::SMAXV),
      OPC_RecordChild0,
      OPC_SwitchType , 39, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      39, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     85, TARGET_VAL(AArch64ISD::SMINV),
      OPC_RecordChild0,
      OPC_SwitchType , 39, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      39, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     0,
    21|128,1,
     OPC_RecordChild0,
     OPC_Scope, 37,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 0, 2,
      8, MVT::i64,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to64),
                       MVT::i64, 2, 0, 2,
      0,
     36,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 0, 2,
      8, MVT::i64,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to64),
                       MVT::i64, 2, 0, 2,
      0,
     35,
      OPC_CheckChild0Type, 42|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 20,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 0, 2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                      MVT::i32, 2, 3, 4,
     34,
      OPC_CheckChild0Type, 48|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 0, 2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                      MVT::i32, 2, 3, 4,
     0,
    0,
   7|128,1, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to64),
                     MVT::i64, 2, 0, 2,
    25,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to64),
                     MVT::i64, 2, 0, 2,
    37,
     OPC_CheckChild0Type, 42|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to64),
                     MVT::i64, 2, 3, 4,
    36,
     OPC_CheckChild0Type, 48|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to64),
                     MVT::i64, 2, 3, 4,
    0,
   0,
  64|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 15,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI64, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                    MVT::i64, 3, 0, 1, 2,
   33,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_SwitchType , 12, MVT::i64,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                     MVT::i64, 3, 0, 1, 2,
    12, MVT::i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                     MVT::i32, 3, 0, 1, 2,
    0,
   33,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 12, MVT::i64,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                     MVT::i64, 3, 0, 1, 2,
    12, MVT::i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                     MVT::i32, 3, 0, 1, 2,
    0,
   33,
    OPC_CheckValueType, MVT::i1,
    OPC_MoveParent,
    OPC_SwitchType , 12, MVT::i64,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                     MVT::i64, 3, 0, 1, 2,
    12, MVT::i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                     MVT::i32, 3, 0, 1, 2,
    0,
   32,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPmZ_D_UNDEF),
                    58|128,1, 3, 1, 3, 0,
   32,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_D_UNDEF),
                    58|128,1, 3, 1, 3, 0,
   32,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_D_UNDEF),
                    58|128,1, 3, 1, 3, 0,
   32,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_S_UNDEF),
                    53|128,1, 3, 1, 3, 0,
   32,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_S_UNDEF),
                    53|128,1, 3, 1, 3, 0,
   32,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_H_UNDEF),
                    48|128,1, 3, 1, 3, 0,
   0,
  0,
 119|128,9, TARGET_VAL(ISD::MUL),
  OPC_Scope, 27|128,1,
   OPC_MoveChild0,
   OPC_Scope, 45,
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 5, 6,
   105,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 24,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTB_XPiI),
                     MVT::i64, 2, 0, 2,
    24,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTH_XPiI),
                     MVT::i64, 2, 0, 2,
    24,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTW_XPiI),
                     MVT::i64, 2, 0, 2,
    24,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTD_XPiI),
                     MVT::i64, 2, 0, 2,
    0,
   0,
  103,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 23,
    OPC_CheckChild0Integer, 83|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTB_XPiI),
                    MVT::i64, 2, 1, 2,
   23,
    OPC_CheckChild0Integer, 85|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTH_XPiI),
                    MVT::i64, 2, 1, 2,
   23,
    OPC_CheckChild0Integer, 91|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTW_XPiI),
                    MVT::i64, 2, 1, 2,
   23,
    OPC_CheckChild0Integer, 84|128,10,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTD_XPiI),
                    MVT::i64, 2, 1, 2,
   0,
  108,
   OPC_MoveChild0,
   OPC_Scope, 34,
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 1, 4,
   34,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 0, 4,
   34,
    OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBWrrr),
                     MVT::i32, 3, 0, 1, 2,
    10, MVT::i64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBXrrr),
                     MVT::i64, 3, 0, 1, 2,
    0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::i32,
    OPC_EmitRegisterI32, AArch64::WZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBWrrr),
                    MVT::i32, 3, 1, 0, 2,
   10, MVT::i64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBXrrr),
                    MVT::i64, 3, 1, 0, 2,
   0,
  118|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 25, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 85,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 0, 4, 5,
    14, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 0, 1, 2,
    25, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 3, 0, 4,
    0,
   50, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 25, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 79,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 0, 4, 5,
    14, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                     MVT::i64, 3, 0, 1, 2,
    0,
   106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 33, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 85,
     OPC_MoveParent,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 5,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 3, 6, 7,
    22, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 3, 1, 4,
    34, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 4,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                     MVT::i64, 3, 3, 5, 6,
    0,
   0,
  64,
   OPC_RecordChild0,
   OPC_Scope, 29,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate, 64,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 3, 1, 4,
   30,
    OPC_MoveChild0,
    OPC_CheckPredicate, 51,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 1, 4,
   0,
  62,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 26, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 64,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                    MVT::i64, 3, 3, 0, 4,
   27, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 51,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 0, 4,
   0,
  45|128,1,
   OPC_RecordChild0,
   OPC_Scope, 37,
    OPC_MoveChild0,
    OPC_CheckPredicate, 51,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 51,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMADDLrrr),
                    MVT::i64, 3, 3, 5, 6,
   61,
    OPC_RecordChild1,
    OPC_SwitchType , 44, MVT::i64,
     OPC_Scope, 30,
      OPC_CheckPredicate, 64,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 2,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMADDLrrr),
                      MVT::i64, 3, 3, 5, 6,
     10,
      OPC_EmitRegisterI64, AArch64::XZR,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MADDXrrr),
                      MVT::i64, 3, 0, 1, 2,
     0,
    10, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MADDWrrr),
                     MVT::i32, 3, 0, 1, 2,
    0,
   69,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 28, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i16_indexed),
                     MVT::v4i16, 3, 0, 1, 3,
    28, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv2i32_indexed),
                     MVT::v2i32, 3, 0, 1, 3,
    0,
   0,
  71,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 29, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i16_indexed),
                    MVT::v4i16, 3, 2, 0, 3,
   29, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv2i32_indexed),
                    MVT::v2i32, 3, 2, 0, 3,
   0,
  86,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 38, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i16_indexed),
                     MVT::v4i16, 3, 0, 1, 3,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv8i16_indexed),
                     MVT::v8i16, 3, 0, 1, 3,
    0,
   38, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv2i32_indexed),
                     MVT::v2i32, 3, 0, 1, 3,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i32_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    0,
   0,
  87,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 39, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i16_indexed),
                     MVT::v4i16, 3, 2, 0, 3,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv8i16_indexed),
                     MVT::v8i16, 3, 2, 0, 3,
    0,
   39, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv2i32_indexed),
                     MVT::v2i32, 3, 2, 0, 3,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i32_indexed),
                     MVT::v4i32, 3, 2, 0, 3,
    0,
   0,
  64,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MULv4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  0,
 106|128,5, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 91,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_RecordChild0,
   OPC_SwitchType , 40, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate, 75,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/29, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/30, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   40, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 75,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   0,
  29|128,1,
   OPC_RecordChild1,
   OPC_Scope, 114,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_Scope, 35,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 75,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/21, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/22, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    36,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate, 75,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/17, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    36,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 75,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    0,
   38,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 75,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    0,
   0,
  127,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_Scope, 79,
    OPC_RecordChild0,
    OPC_SwitchType , 36, MVT::i32,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    36, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate, 42,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    0,
   40,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 84,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STL1), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 4, 3,
   0,
  90|128,1,
   OPC_RecordChild1,
   OPC_Scope, 30|128,1,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_Scope, 31,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/20, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/19, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    32,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    32,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/28, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    17,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 84,
     OPC_CheckPatternPredicate, 99,
     OPC_CheckComplexPat, /*CP*/19, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLURBi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    18,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate, 84,
     OPC_CheckPatternPredicate, 99,
     OPC_CheckComplexPat, /*CP*/13, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLURHi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    18,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 84,
     OPC_CheckPatternPredicate, 99,
     OPC_CheckComplexPat, /*CP*/31, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   54,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckPredicate, 42,
    OPC_Scope, 30,
     OPC_CheckPredicate, 75,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXui), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURXi), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 1, 3, 4,
     0,
    16,
     OPC_CheckPredicate, 84,
     OPC_CheckPatternPredicate, 99,
     OPC_CheckComplexPat, /*CP*/24, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLURXi), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 1, 3, 4,
    0,
   0,
  78,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 84,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STL1), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 1, 4, 3,
   37, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 21|128,1,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 84,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STL1), 0|OPFL_Chain|OPFL_MemRefs,
                    3, 5, 6, 2,
   0,
  63,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_Scope, 11,
     OPC_CheckPredicate0,
     OPC_CheckPredicate, 84,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRB), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    12,
     OPC_CheckPredicate, 14,
     OPC_CheckPredicate, 84,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRH), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    12,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 84,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRW), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 1, 2,
    0,
   15,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 84,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRX), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 1, 2,
   0,
  0,
 57|128,50, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
  OPC_Scope, 14|128,37,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 124|128,33, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_Scope, 72|128,3,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 22|128,1, MVT::i64,
      OPC_MoveParent,
      OPC_SwitchType , 110, 118|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        118|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        118|128,1, 3, 6, 7, 8,
       25,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        118|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        118|128,1, 3, 4, 5, 6,
       0,
      32, MVT::v1i64,
       OPC_Scope, 14,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 4, 2, 3, 4, 5,
       14,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 4, 2, 3, 4, 5,
       0,
      0,
     114, MVT::f64,
      OPC_MoveParent,
      OPC_CheckType, 118|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       118|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       118|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       118|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       118|128,1, 3, 4, 5, 6,
      0,
     52|128,1, MVT::i8,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::v16i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       0,
      56, MVT::v8i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       0,
      58, 42|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    116|128,2,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 53|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::v16i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 6, 7, 8,
       0,
      56, MVT::v8i8,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 6, 7, 8,
       0,
      58, 42|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 6, 7, 8,
       0,
      0,
     54|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::v8i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 6, 7, 8,
       0,
      56, MVT::v4i16,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 6, 7, 8,
       0,
      58, 48|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    55|128,2,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 52|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::v4i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 6, 7, 8,
       0,
      56, MVT::v2i32,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 6, 7, 8,
       0,
      58, 53|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/29, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/30, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 6, 7, 8,
       0,
      0,
     122, MVT::i64,
      OPC_MoveParent,
      OPC_SwitchType , 56, MVT::v2i64,
       OPC_Scope, 26,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       26,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 6, 7, 8,
       0,
      58, 58|128,1,
       OPC_Scope, 27,
        OPC_CheckComplexPat, /*CP*/25, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       27,
        OPC_CheckComplexPat, /*CP*/26, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 6, 7, 8,
       0,
      0,
     0,
    127,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     0,
    0|128,1,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 6, 7, 8,
      0,
     0,
    127,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      0,
     0,
    0|128,1,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 6, 7, 8,
      0,
     0,
    127,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      0,
     0,
    0|128,1,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 6, 7, 8,
      0,
     0,
    61|128,1,
     OPC_CheckPredicate2,
     OPC_CheckTypeI64,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     0,
    62|128,1,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI64,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 6, 7, 8,
      0,
     0,
    80|128,1,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 31, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v1i64, 2, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v1i64, 2, 2, 3,
      0,
     40|128,1, MVT::i8,
      OPC_MoveParent,
      OPC_SwitchType , 52, MVT::v16i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       0,
      52, MVT::v8i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       0,
      54, 42|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    92|128,2,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 41|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_SwitchType , 52, MVT::v16i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v16i8, 3, 4, 5, 6,
       0,
      52, MVT::v8i8,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i8, 3, 4, 5, 6,
       0,
      54, 42|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        42|128,1, 3, 4, 5, 6,
       0,
      0,
     42|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_SwitchType , 52, MVT::v8i16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v8i16, 3, 4, 5, 6,
       0,
      52, MVT::v4i16,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i16, 3, 4, 5, 6,
       0,
      54, 48|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        48|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    35|128,2,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 40|128,1, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 52, MVT::v4i32,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v4i32, 3, 4, 5, 6,
       0,
      52, MVT::v2i32,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i32, 3, 4, 5, 6,
       0,
      54, 53|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        53|128,1, 3, 4, 5, 6,
       0,
      0,
     114, MVT::i64,
      OPC_MoveParent,
      OPC_SwitchType , 52, MVT::v2i64,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       0,
      54, 58|128,1,
       OPC_Scope, 25,
        OPC_CheckComplexPat, /*CP*/27, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 4, 5, 6,
       25,
        OPC_CheckComplexPat, /*CP*/24, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        58|128,1, 3, 4, 5, 6,
       0,
      0,
     0,
    119,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      0,
     0,
    120,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 5, 6,
      0,
     0,
    119,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      0,
     0,
    120,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8i16, 3, 4, 5, 6,
      0,
     0,
    119,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      0,
     0,
    120,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4i32, 3, 4, 5, 6,
      0,
     0,
    49|128,1,
     OPC_CheckPredicate2,
     OPC_CheckTypeI64,
     OPC_Scope, 56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v2i64, 3, 4, 5, 6,
      0,
     0,
    27|128,2,
     OPC_CheckPredicate, 36,
     OPC_SwitchType , 47|128,1, MVT::i64,
      OPC_Scope, 56,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckPredicate, 34,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_Scope, 24,
        OPC_CheckComplexPat, /*CP*/28, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       24,
        OPC_CheckComplexPat, /*CP*/31, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                        MVT::v2i64, 3, 4, 5, 6,
       0,
      0,
     99, MVT::i32,
      OPC_CheckChild1TypeI64,
      OPC_Scope, 32,
       OPC_CheckPredicate, 14,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v8i16, 0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f128, 3, 2, 3, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 4, 5,
      62,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_SwitchType , 27, MVT::v2i32,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 2, 3, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v2i32, 2, 4, 5,
       27, MVT::v4i16,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v16i8, 0,
        OPC_EmitIntegerI64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3, 2, 3, 1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v4i16, 2, 4, 5,
       0,
      0,
     0,
    0,
   90|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 34,
     OPC_CheckChild0Type, 58|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f128, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::v1i64, 2, 3, 4,
    24,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi64),
                     MVT::v1i64, 2, 0, 2,
    75,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 29, MVT::v4i16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                      MVT::i8, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 6, 7,
     29, MVT::v2i32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                      MVT::i8, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 6, 7,
     0,
    42,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                     MVT::i16, 2, 0, 3,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i16, 3, 2, 4, 5,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 6, 7,
    105,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 44, MVT::v4i16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 3, 0, 4,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                      MVT::i8, 2, 5, 6,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 2, 7, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 9, 10,
     44, MVT::v2i32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 3, 0, 4,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                      MVT::i8, 2, 5, 6,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 2, 7, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 9, 10,
     0,
    57,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 3, 0, 4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                     MVT::i16, 2, 5, 6,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i16, 3, 2, 7, 8,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 9, 10,
    0,
   42, TARGET_VAL(ISD::ATOMIC_LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate, 90,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1, TARGET_VAL(AArch64::LDAP1), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f128, 3, 2, 3, 1,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 4, 5,
   0,
  38|128,1,
   OPC_RecordChild0,
   OPC_Scope, 31,
    OPC_CheckChild0TypeI64,
    OPC_SwitchType , 9, MVT::v1i64,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v1i64, 2, 0, 1,
    15, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 0, 2,
    0,
   1|128,1,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 21, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 2,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v16i8, 3, 1, 3, 4,
    21, MVT::v8i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 2,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i8, 3, 1, 3, 4,
    21, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 2,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i16, 3, 1, 3, 4,
    21, MVT::v4i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 2,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i16, 3, 1, 3, 4,
    15, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 1, 0, 2,
    15, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
    0,
   0,
  79|128,10,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 103|128,9, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 76|128,2, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 106, MVT::v8f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 6, 7, 8,
      24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8f16, 3, 4, 5, 6,
      0,
     106, MVT::v4f16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 6, 7, 8,
      24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4f16, 3, 4, 5, 6,
      0,
     110, 66|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       66|128,1, 3, 4, 5, 6,
      0,
     0,
    76|128,2, MVT::bf16,
     OPC_MoveParent,
     OPC_SwitchType , 106, MVT::v8bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 6, 7, 8,
      24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v8bf16, 3, 4, 5, 6,
      0,
     106, MVT::v4bf16,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 6, 7, 8,
      24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v4bf16, 3, 4, 5, 6,
      0,
     110, 72|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       72|128,1, 3, 4, 5, 6,
      0,
     0,
    86|128,2, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 110, 4|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       4|128,1, 3, 4, 5, 6,
      0,
     110, 2|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       2|128,1, 3, 4, 5, 6,
      0,
     110, 77|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       77|128,1, 3, 4, 5, 6,
      0,
     0,
    101|128,1, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 110, 22|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       22|128,1, 3, 4, 5, 6,
      0,
     110, 81|128,1,
      OPC_Scope, 27,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      27,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 6, 7, 8,
      25,
       OPC_CheckComplexPat, /*CP*/27, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 4, 5, 6,
      25,
       OPC_CheckComplexPat, /*CP*/24, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       81|128,1, 3, 4, 5, 6,
      0,
     0,
    0,
   38, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 81|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f128, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi64),
                    21|128,1, 2, 3, 4,
   53, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate, 90,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 21|128,1,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    22|128,1, 0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1, TARGET_VAL(AArch64::LDAP1), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f128, 3, 2, 3, 1,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    21|128,1, 2, 4, 5,
   0,
  44|128,1,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 3, 21|128,1,
     OPC_CompleteMatch, 1, 0,

    17, 22|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     22|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     22|128,1, 3, 1, 0, 2,
    0,
   14,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, 21|128,1,
    OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    21|128,1, 2, 0, 1,
   38,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 15, MVT::v4f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 1, 0, 2,
    15, MVT::v8f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8f16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8f16, 3, 1, 0, 2,
    0,
   38,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_SwitchType , 15, MVT::v4bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4bf16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4bf16, 3, 1, 0, 2,
    15, MVT::v8bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8bf16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8bf16, 3, 1, 0, 2,
    0,
   44,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 17, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     4|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 1, 0, 2,
    17, 2|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 0, 2,
    0,
   0,
  0,
 22|128,11|128,1, TARGET_VAL(ISD::XOR),
  OPC_Scope, 29|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 65, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 149,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 26, MVT::i32,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                      MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                      MVT::i32, 3, 1, 2, 3,
     0,
    26, MVT::i64,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                      MVT::i64, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/45, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                      MVT::i64, 3, 1, 2, 3,
     0,
    0,
   83, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 47,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 127,
     OPC_SwitchType , 26, MVT::i32,
      OPC_Scope, 11,
       OPC_CheckComplexPat, /*CP*/44, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                       MVT::i32, 3, 0, 2, 3,
      11,
       OPC_CheckComplexPat, /*CP*/44, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                       MVT::i32, 3, 1, 2, 3,
      0,
     11, MVT::i64,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                      MVT::i64, 3, 0, 2, 3,
     0,
    31,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                      MVT::i32, 3, 0, 2, 3,
     11,
      OPC_CheckComplexPat, /*CP*/44, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                      MVT::i32, 3, 1, 2, 3,
     0,
    0,
   0,
  36,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 11,
    OPC_CheckComplexPat, /*CP*/44, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                    MVT::i32, 3, 1, 2, 3,
   11,
    OPC_CheckComplexPat, /*CP*/44, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrs),
                    MVT::i32, 3, 0, 2, 3,
   0,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_Scope, 16,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_CheckTypeI64,
    OPC_CheckComplexPat, /*CP*/45, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                    MVT::i64, 3, 1, 2, 3,
   31,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                     MVT::i64, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                     MVT::i64, 3, 1, 2, 3,
    0,
   0,
  114,
   OPC_RecordChild0,
   OPC_Scope, 35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                     MVT::i64, 3, 1, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrs),
                     MVT::i64, 3, 0, 2, 3,
    0,
   34,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 13, MVT::i32,
     OPC_CheckComplexPat, /*CP*/44, /*#*/0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrs),
                     MVT::i32, 3, 3, 1, 2,
    13, MVT::i64,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrs),
                     MVT::i64, 3, 3, 1, 2,
    0,
   39,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 15,
     OPC_CheckPredicate, 131,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 7, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORWri),
                     MVT::i32, 2, 0, 3,
    15,
     OPC_CheckPredicate, 132,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 8, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORXri),
                     MVT::i64, 2, 0, 3,
    0,
   0,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate, 149,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrr),
                    MVT::i32, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrr),
                    MVT::i64, 2, 0, 1,
   0,
  60,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 26, MVT::i32,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/44, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORWrs),
                     MVT::i32, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/44, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORWrs),
                     MVT::i32, 3, 1, 2, 3,
    0,
   26, MVT::i64,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORXrs),
                     MVT::i64, 3, 0, 2, 3,
    11,
     OPC_CheckComplexPat, /*CP*/45, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORXrs),
                     MVT::i64, 3, 1, 2, 3,
    0,
   0,
  45,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_Scope, 24,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrr),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrr),
                     MVT::i64, 2, 0, 1,
    0,
   12,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrr),
                    MVT::i32, 2, 0, 1,
   0,
  17,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONWrr),
                   MVT::i32, 2, 1, 0,
  17,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrr),
                   MVT::i64, 2, 0, 1,
  69,
   OPC_RecordChild0,
   OPC_Scope, 16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EONXrr),
                    MVT::i64, 2, 1, 0,
   26,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 9, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 1, 0,
    9, MVT::i64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORNXrr),
                     MVT::i64, 2, 1, 0,
    0,
   21,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORWrr),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORXrr),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  80|128,51,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 99|128,1,
    OPC_RecordChild0,
    OPC_Scope, 36|128,1,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 69,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_SwitchType , 10, 42|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 0, 2, 1,
      10, 48|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       48|128,1, 3, 0, 2, 1,
      10, 53|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       53|128,1, 3, 0, 2, 1,
      10, 58|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       58|128,1, 3, 0, 2, 1,
      0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 1, 2, 0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 1, 2, 0,
     0,
    57,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 20,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 2, 0, 1,
     20,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 2, 0, 1,
     0,
    0,
   58,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 2, 1, 0,
    20,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 2, 1, 0,
    0,
   28|128,1,
    OPC_RecordChild0,
    OPC_Scope, 94,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      48|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      48|128,1, 3, 1, 2, 0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      48|128,1, 3, 1, 2, 0,
     0,
    57,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 20,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      48|128,1, 3, 2, 0, 1,
     20,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      48|128,1, 3, 2, 0, 1,
     0,
    0,
   58,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     48|128,1, 3, 2, 1, 0,
    20,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     48|128,1, 3, 2, 1, 0,
    0,
   28|128,1,
    OPC_RecordChild0,
    OPC_Scope, 94,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      53|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      53|128,1, 3, 1, 2, 0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      53|128,1, 3, 1, 2, 0,
     0,
    57,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 20,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      53|128,1, 3, 2, 0, 1,
     20,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      53|128,1, 3, 2, 0, 1,
     0,
    0,
   58,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     53|128,1, 3, 2, 1, 0,
    20,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     53|128,1, 3, 2, 1, 0,
    0,
   28|128,1,
    OPC_RecordChild0,
    OPC_Scope, 94,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      58|128,1, 3, 0, 2, 1,
     28,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      58|128,1, 3, 1, 2, 0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      58|128,1, 3, 1, 2, 0,
     0,
    57,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 20,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      58|128,1, 3, 2, 0, 1,
     20,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      58|128,1, 3, 2, 0, 1,
     0,
    0,
   58,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     58|128,1, 3, 2, 1, 0,
    20,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     58|128,1, 3, 2, 1, 0,
    0,
   24|128,8,
    OPC_RecordChild0,
    OPC_Scope, 98|128,6,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 81|128,4,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_SwitchType , 70, MVT::v8i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 12, 13,
      70, MVT::v16i8,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v16i8, 2, 12, 13,
      70, MVT::v4i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 12, 13,
      70, MVT::v8i16,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i16, 2, 12, 13,
      70, MVT::v2i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i32, 2, 12, 13,
      70, MVT::v4i32,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i32, 2, 12, 13,
      70, MVT::v1i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 12, 13,
      70, MVT::v2i64,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 3, 0, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 6, 2, 7,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       42|128,1, 0,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       42|128,1, 3, 9, 1, 10,
       OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                       42|128,1, 3, 5, 8, 11,
       OPC_EmitIntegerI32, AArch64::zsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v2i64, 2, 12, 13,
      0,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    0,
   69|128,3,
    OPC_RecordChild0,
    OPC_Scope, 15|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 1,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 0, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     87,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     87,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_CheckChild0Same, 0,
      OPC_MoveChild1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    47|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     79,
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 2, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 0, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 1, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    0,
   48|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 79,
     OPC_RecordChild0,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    79,
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    0,
   0,
  66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 26, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 63,
    OPC_CheckChild1TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VSHL),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1),
                    MVT::v2i64, 2, 0, 1,
   26, TARGET_VAL(AArch64ISD::VSHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 63,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1),
                    MVT::v2i64, 2, 0, 1,
   0,
  6|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 63, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 27, TARGET_VAL(AArch64ISD::VLSHR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 63,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VSHL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1),
                     MVT::v2i64, 2, 1, 0,
    27, TARGET_VAL(AArch64ISD::VSHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 63,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RAX1),
                     MVT::v2i64, 2, 1, 0,
    0,
   61|128,2, TARGET_VAL(ISD::SETCC),
    OPC_Scope, 40|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 18, MVT::v8i8,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv8i8),
                      MVT::v8i8, 2, 0, 1,
     18, MVT::v16i8,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv16i8),
                      MVT::v16i8, 2, 0, 1,
     18, MVT::v4i16,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv4i16),
                      MVT::v4i16, 2, 0, 1,
     18, MVT::v8i16,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv8i16),
                      MVT::v8i16, 2, 0, 1,
     18, MVT::v2i32,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv2i32),
                      MVT::v2i32, 2, 0, 1,
     18, MVT::v4i32,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv4i32),
                      MVT::v4i32, 2, 0, 1,
     18, MVT::v2i64,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv2i64),
                      MVT::v2i64, 2, 0, 1,
     18, MVT::v1i64,
      OPC_MoveSibling1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv1i64),
                      MVT::v1i64, 2, 0, 1,
     0,
    15|128,1,
     OPC_RecordChild0,
     OPC_Scope, 19,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv8i8),
                      MVT::v8i8, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv16i8),
                      MVT::v16i8, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv4i16),
                      MVT::v4i16, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv8i16),
                      MVT::v8i16, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv2i32),
                      MVT::v2i32, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv4i32),
                      MVT::v4i32, 2, 0, 0,
     19,
      OPC_CheckChild0Type, MVT::v2i64,
      OPC_MoveChild1,
      OPC_CheckImmAllZerosV,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling1,
      OPC_CheckImmAllOnesV,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMTSTv2i64),
                      MVT::v2i64, 2, 0, 0,
     0,
    0,
   0,
  17|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 113,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::v16i8,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                     MVT::v16i8, 3, 0, 1, 2,
    10, MVT::v8i16,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                     MVT::v8i16, 3, 0, 1, 2,
    10, MVT::v4i32,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                     MVT::v4i32, 3, 0, 1, 2,
    10, MVT::v2i64,
     OPC_CheckPatternPredicate, 24,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                     MVT::v2i64, 3, 0, 1, 2,
    10, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 0, 1, 2,
    10, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     48|128,1, 3, 0, 1, 2,
    10, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     53|128,1, 3, 0, 1, 2,
    10, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     58|128,1, 3, 0, 1, 2,
    0,
   23,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v16i8, 3, 0, 2, 1,
   0,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v16i8, 3, 2, 0, 1,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v16i8, 3, 2, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                   MVT::v8i16, 3, 0, 2, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v8i16, 3, 2, 0, 1,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v8i16, 3, 2, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                   MVT::v4i32, 3, 0, 2, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v4i32, 3, 2, 0, 1,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v4i32, 3, 2, 1, 0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                   MVT::v2i64, 3, 0, 2, 1,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v2i64, 3, 2, 0, 1,
   24,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX),
                    MVT::v2i64, 3, 2, 1, 0,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 0, 2, 1,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 25,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 2, 0, 1,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 2, 1, 0,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   48|128,1, 3, 0, 2, 1,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 25,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    48|128,1, 3, 2, 0, 1,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    48|128,1, 3, 2, 1, 0,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   53|128,1, 3, 0, 2, 1,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 25,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    53|128,1, 3, 2, 0, 1,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    53|128,1, 3, 2, 1, 0,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   58|128,1, 3, 0, 2, 1,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 25,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    58|128,1, 3, 2, 0, 1,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    58|128,1, 3, 2, 1, 0,
   0,
  42|128,5,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 77|128,4,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 70, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    70, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    70, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    70, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    70, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    70, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    70, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    70, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 0, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 2, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    0,
   83,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   0,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v16i8, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i16, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i16, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i32, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v1i64, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   0,
  88,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 3, 0, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 6, 2, 7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 9, 1, 10,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                   42|128,1, 3, 5, 8, 11,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i64, 2, 12, 13,
  48|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 84,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   84,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BCAX_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 49,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/107, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                     42|128,1, 2, 0, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                     48|128,1, 2, 0, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                     53|128,1, 2, 0, 2,
    0,
   17,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                    58|128,1, 2, 0, 2,
   0,
  94|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 73, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 50,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 12, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/107, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                      42|128,1, 2, 1, 2,
     12, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/96, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                      48|128,1, 2, 1, 2,
     12, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/97, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                      53|128,1, 2, 1, 2,
     0,
    18,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/98, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZI),
                     58|128,1, 2, 1, 2,
    0,
   60, TARGET_VAL(AArch64ISD::BSP),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 1, 2, 0,
    10, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     48|128,1, 3, 1, 2, 0,
    10, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     53|128,1, 3, 1, 2, 0,
    10, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     58|128,1, 3, 1, 2, 0,
    0,
   81, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 58,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_SwitchType , 10, 42|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 0, 0, 1,
     10, 48|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      48|128,1, 3, 0, 0, 1,
     10, 53|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      53|128,1, 3, 0, 0, 1,
     10, 58|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      58|128,1, 3, 0, 0, 1,
     0,
    18,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 0, 0, 1,
    0,
   59, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 1, 0, 0,
    10, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     48|128,1, 3, 1, 0, 0,
    10, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     53|128,1, 3, 1, 0, 0,
    10, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     58|128,1, 3, 1, 0, 0,
    0,
   59, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 1, 0, 1,
    10, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     48|128,1, 3, 1, 0, 1,
    10, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     53|128,1, 3, 1, 0, 1,
    10, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     58|128,1, 3, 1, 0, 1,
    0,
   0,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 1, 1, 0,
  23,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   48|128,1, 3, 0, 0, 1,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   48|128,1, 3, 1, 1, 0,
  23,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   53|128,1, 3, 0, 0, 1,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   53|128,1, 3, 1, 1, 0,
  23,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   58|128,1, 3, 0, 0, 1,
  23,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   58|128,1, 3, 1, 1, 0,
  2|128,19,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 72|128,4, TARGET_VAL(AArch64ISD::BSP),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 70, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    70, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    70, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    70, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    70, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    70, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    70, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    70, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    0,
   25|128,5, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_Scope, 70|128,4,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_SwitchType , 70, MVT::v8i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 11, 12,
     70, MVT::v16i8,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 11, 12,
     70, MVT::v4i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 11, 12,
     70, MVT::v8i16,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 11, 12,
     70, MVT::v2i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 11, 12,
     70, MVT::v4i32,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 11, 12,
     70, MVT::v1i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 11, 12,
     70, MVT::v2i64,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 2, 0, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 5, 0, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 8, 1, 9,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                      42|128,1, 3, 4, 7, 10,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 11, 12,
     0,
    77,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 11, 12,
    0,
   71|128,4, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 70, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 11, 12,
    70, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 11, 12,
    70, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 11, 12,
    70, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 11, 12,
    70, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 11, 12,
    70, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 11, 12,
    70, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 11, 12,
    70, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 11, 12,
    0,
   71|128,4, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 70, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 11, 12,
    70, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 11, 12,
    70, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 11, 12,
    70, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 11, 12,
    70, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 11, 12,
    70, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 11, 12,
    70, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 11, 12,
    70, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 8, 1, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::NBSL_ZZZZ),
                     42|128,1, 3, 4, 7, 10,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 11, 12,
    0,
   0,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i8, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v16i8, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v16i8, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i16, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i16, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i16, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i16, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i32, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i32, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v1i64, 2, 11, 12,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 1, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 0, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v1i64, 2, 11, 12,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 5, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 8, 1, 9,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                   42|128,1, 3, 4, 7, 10,
   OPC_EmitIntegerI32, AArch64::zsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i64, 2, 11, 12,
  28|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 80,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 5, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 8, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 4, 7, 10,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 11, 12,
   70,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv8i8),
                     MVT::v8i8, 1, 0,
    7, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv16i8),
                     MVT::v16i8, 1, 0,
    6, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv8i8),
                     MVT::v4i16, 1, 0,
    6, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv16i8),
                     MVT::v8i16, 1, 0,
    6, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv8i8),
                     MVT::v2i32, 1, 0,
    6, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv16i8),
                     MVT::v4i32, 1, 0,
    6, MVT::v1i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv8i8),
                     MVT::v1i64, 1, 0,
    6, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NOTv16i8),
                     MVT::v2i64, 1, 0,
    0,
   0,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v16i8, 3, 0, 1, 2,
   10, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v8i16, 3, 0, 1, 2,
   10, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v4i32, 3, 0, 1, 2,
   10, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    58|128,1, 3, 0, 1, 2,
   0,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    58|128,1, 3, 0, 1, 2,
   0,
  58,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::v16i8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v16i8, 3, 1, 2, 0,
   10, MVT::v8i16,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v8i16, 3, 1, 2, 0,
   10, MVT::v4i32,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v4i32, 3, 1, 2, 0,
   10, MVT::v2i64,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR3),
                    MVT::v2i64, 3, 1, 2, 0,
   0,
  18|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 64, MVT::v8i8,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   64, MVT::v4i16,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   64, MVT::v2i32,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   64, MVT::v1i64,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   0,
  74|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 70, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   70, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   70, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   70, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   70, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   70, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   70, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   70, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  26|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 70, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   70, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   0,
  18|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 64, MVT::v8i8,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   64, MVT::v4i16,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   64, MVT::v2i32,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   64, MVT::v1i64,
    OPC_CheckPatternPredicate, 24,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3),
                    MVT::f128, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   0,
  58|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 70, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   70, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   70, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   70, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   70, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   70, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 2, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EOR3_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  114|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                    MVT::v1i64, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                    MVT::v2i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZZZ),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZZZ),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZZZ),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZZZ),
                    58|128,1, 2, 0, 1,
   19, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    35|128,1, 3, 3, 0, 1,
   19, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    34|128,1, 3, 3, 0, 1,
   19, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    33|128,1, 3, 3, 0, 1,
   19, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    32|128,1, 3, 3, 0, 1,
   19, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_PPzPP),
                    31|128,1, 3, 3, 0, 1,
   0,
  0,
 62, TARGET_VAL(AArch64ISD::PREFETCH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_RecordChild2,
  OPC_Scope, 13,
   OPC_CheckComplexPat, /*CP*/25, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFMroW),
                   5, 1, 3, 4, 5, 6,
  13,
   OPC_CheckComplexPat, /*CP*/26, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFMroX),
                   5, 1, 3, 4, 5, 6,
  11,
   OPC_CheckComplexPat, /*CP*/27, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFMui),
                   3, 1, 3, 4,
  11,
   OPC_CheckComplexPat, /*CP*/24, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::PRFUMi),
                   3, 1, 3, 4,
  0,
 115, TARGET_VAL(AArch64ISD::CB),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 72,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 114,
   OPC_Scope, 17,
    OPC_CheckComplexPat, /*CP*/144, /*#*/2,
    OPC_CheckComplexPat, /*CP*/144, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBBAssertExt),
                    6, 1, 5, 7, 4, 6, 8,
   17,
    OPC_CheckComplexPat, /*CP*/145, /*#*/2,
    OPC_CheckComplexPat, /*CP*/145, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBHAssertExt),
                    6, 1, 5, 7, 4, 6, 8,
   12,
    OPC_CheckComplexPat, /*CP*/155, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBWPri),
                    4, 1, 2, 5, 4,
   9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBWPrr),
                    4, 1, 2, 3, 4,
   0,
  36,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 114,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/156, /*#*/3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBXPri),
                    4, 1, 2, 5, 4,
   9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBXPrr),
                    4, 1, 2, 3, 4,
   0,
  0,
 45|128,5, TARGET_VAL(ISD::SHL),
  OPC_Scope, 87|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 106, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 25,
     OPC_CheckChild0Integer, 83|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/35, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTB_XPiI),
                     MVT::i64, 2, 0, 2,
    25,
     OPC_CheckChild0Integer, 85|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/35, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTH_XPiI),
                     MVT::i64, 2, 0, 2,
    25,
     OPC_CheckChild0Integer, 91|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/35, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTW_XPiI),
                     MVT::i64, 2, 0, 2,
    25,
     OPC_CheckChild0Integer, 84|128,10,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/35, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTD_XPiI),
                     MVT::i64, 2, 0, 2,
    0,
   21, TARGET_VAL(AArch64ISD::RDSVL),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 79,
    OPC_CheckComplexPat, /*CP*/157, /*#*/0,
    OPC_EmitNodeXForm, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RDSVLI_XI),
                    MVT::i64, 1, 2,
   112, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 53,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_Scope, 20,
      OPC_CheckPredicate, 41,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 18, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                      MVT::i32, 3, 0, 3, 5,
     20,
      OPC_CheckPredicate, 86,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 19, 2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 20, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                      MVT::i64, 3, 0, 3, 5,
     0,
    53,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI64,
     OPC_Scope, 20,
      OPC_CheckPredicate, 41,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 21, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMWri),
                      MVT::i32, 3, 0, 3, 5,
     20,
      OPC_CheckPredicate, 86,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 19, 2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 22, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                      MVT::i64, 3, 0, 3, 5,
     0,
    0,
   43, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 86,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 23, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                    MVT::i64, 3, 4, 6, 8,
   43, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 86,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 23, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMXri),
                    MVT::i64, 3, 4, 6, 8,
   0,
  55|128,1,
   OPC_RecordChild0,
   OPC_Scope, 50,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 20,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 17, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 24, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMWri),
                     MVT::i32, 3, 0, 3, 5,
    20,
     OPC_CheckPredicate, 86,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 19, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 25, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMXri),
                     MVT::i64, 3, 0, 3, 5,
    0,
   96,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVXr),
                      MVT::i64, 2, 0, 4,
     0,
    12, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVWr),
                     MVT::i32, 2, 0, 1,
    36, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVXr),
                      MVT::i64, 2, 0, 4,
     0,
    0,
   31,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVXr),
                     MVT::i64, 2, 0, 1,
    16, MVT::i32,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSLVWr),
                     MVT::i32, 2, 0, 3,
    0,
   0,
  23|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 71, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 36, MVT::i32,
     OPC_Scope, 16,
      OPC_CheckPredicate, 31,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i8_shift),
                      MVT::v8i16, 2, 0, 2,
     16,
      OPC_CheckPredicate, 87,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i16_shift),
                      MVT::v4i32, 2, 0, 2,
     0,
    19, MVT::i64,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv2i32_shift),
                     MVT::v2i64, 2, 0, 3,
    0,
   71, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_SwitchType , 36, MVT::i32,
     OPC_Scope, 16,
      OPC_CheckPredicate, 31,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                      MVT::v8i16, 2, 0, 2,
     16,
      OPC_CheckPredicate, 87,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                      MVT::v4i32, 2, 0, 2,
     0,
    19, MVT::i64,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                     MVT::v2i64, 2, 0, 3,
    0,
   0,
  0,
 23|128,2, TARGET_VAL(AArch64ISD::ANDS),
  OPC_Scope, 39,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 12, MVT::i32,
    OPC_CheckComplexPat, /*CP*/44, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSWrs),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12, MVT::i64,
    OPC_CheckComplexPat, /*CP*/45, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSXrs),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   0,
  39,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 12, MVT::i32,
    OPC_CheckComplexPat, /*CP*/44, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSWrs),
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   12, MVT::i64,
    OPC_CheckComplexPat, /*CP*/45, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSXrs),
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   0,
  98,
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_RecordChild1,
    OPC_SwitchType , 28, MVT::i32,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/44, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSWrs),
                      MVT::i32, MVT::i32, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/44, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSWrs),
                      MVT::i32, MVT::i32, 3, 1, 2, 3,
     0,
    28, MVT::i64,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/45, /*#*/1,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSXrs),
                      MVT::i64, MVT::i32, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/45, /*#*/0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSXrs),
                      MVT::i64, MVT::i32, 3, 1, 2, 3,
     0,
    0,
   30,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSWrr),
                     MVT::i32, MVT::i32, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSXrr),
                     MVT::i64, MVT::i32, 2, 0, 1,
    0,
   0,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSWrr),
                    MVT::i32, MVT::i32, 2, 1, 0,
   8, MVT::i64,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::BICSXrr),
                    MVT::i64, MVT::i32, 2, 1, 0,
   0,
  65,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 16,
     OPC_CheckPredicate, 131,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 7, 2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSWri),
                     MVT::i32, MVT::i32, 2, 0, 3,
    16,
     OPC_CheckPredicate, 132,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 8, 2,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSXri),
                     MVT::i64, MVT::i32, 2, 0, 3,
    0,
   9,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSWrr),
                    MVT::i32, MVT::i32, 2, 0, 1,
   9,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ANDSXrr),
                    MVT::i64, MVT::i32, 2, 0, 1,
   0,
  0,
 95|128,42, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 110|128,1,
   OPC_CheckChild1Integer, 112|128,9,
   OPC_Scope, 26|128,1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_MoveChild0,
     OPC_CheckTypeI32,
     OPC_Scope, 18,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI64,
      OPC_CheckPredicate, 91,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRB),
                      MVT::i32, 2, 1, 2,
     19,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI64,
      OPC_CheckPredicate, 92,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRH),
                      MVT::i32, 2, 1, 2,
     0,
    26,
     OPC_CheckAndImm, 127|128,1,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 91,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRB),
                     MVT::i32, 2, 4, 2,
    27,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 92,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRH),
                     MVT::i32, 2, 4, 2,
    29,
     OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRW),
                     MVT::i32, 2, 4, 2,
    18,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRW),
                     MVT::i32, 2, 1, 2,
    0,
   76,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 10,
     OPC_CheckPredicate, 133,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRX),
                     MVT::i32, 2, 1, 2,
    19,
     OPC_CheckPredicate, 91,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRB),
                     MVT::i32, 2, 4, 2,
    19,
     OPC_CheckPredicate, 92,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRH),
                     MVT::i32, 2, 4, 2,
    19,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXRW),
                     MVT::i32, 2, 4, 2,
    0,
   0,
  110|128,1,
   OPC_CheckChild1Integer, 110|128,9,
   OPC_Scope, 26|128,1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_MoveChild0,
     OPC_CheckTypeI32,
     OPC_Scope, 18,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI64,
      OPC_CheckPredicate, 91,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRB),
                      MVT::i32, 2, 1, 2,
     19,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI64,
      OPC_CheckPredicate, 92,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRH),
                      MVT::i32, 2, 1, 2,
     0,
    26,
     OPC_CheckAndImm, 127|128,1,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 91,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRB),
                     MVT::i32, 2, 4, 2,
    27,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 92,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRH),
                     MVT::i32, 2, 4, 2,
    29,
     OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRW),
                     MVT::i32, 2, 4, 2,
    18,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI64,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRW),
                     MVT::i32, 2, 1, 2,
    0,
   76,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 10,
     OPC_CheckPredicate, 133,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRX),
                     MVT::i32, 2, 1, 2,
    19,
     OPC_CheckPredicate, 91,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRB),
                     MVT::i32, 2, 4, 2,
    19,
     OPC_CheckPredicate, 92,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRH),
                     MVT::i32, 2, 4, 2,
    19,
     OPC_CheckPredicate, 93,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXRW),
                     MVT::i32, 2, 4, 2,
    0,
   0,
  21,
   OPC_CheckChild1Integer, 76|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 60,
   OPC_CheckComplexPat, /*CP*/110, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDG),
                   MVT::i64, 3, 1, 3, 4,
  19,
   OPC_CheckChild1Integer, 103|128,9,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SPACE),
                   MVT::i64, 2, 3, 2,
  83,
   OPC_CheckChild1Integer, 78|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_Scope, 9,
    OPC_CheckPredicate, 133,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDXRX),
                    MVT::i64, 1, 1,
   21,
    OPC_CheckPredicate, 91,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRB),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 92,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRH),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 93,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDXRW),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   0,
  83,
   OPC_CheckChild1Integer, 75|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_Scope, 9,
    OPC_CheckPredicate, 133,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDAXRX),
                    MVT::i64, 1, 1,
   21,
    OPC_CheckPredicate, 91,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRB),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 92,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRH),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 93,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::LDAXRW),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 2, 3, 4,
   0,
  13,
   OPC_CheckChild1Integer, 63|128,4,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 134,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GCSPOPM),
                   MVT::i64, 1, 1,
  9,
   OPC_CheckChild1Integer, 65|128,4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MRS_FPCR),
                   MVT::i64, 0,
  9,
   OPC_CheckChild1Integer, 66|128,4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MRS_FPSR),
                   MVT::i64, 0,
  17,
   OPC_CheckChild1Integer, 70|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 60,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::IRG),
                   MVT::i64, 2, 1, 2,
  17,
   OPC_CheckChild1Integer, 71|128,4,
   OPC_RecordChild2,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 60,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitRegisterI64, AArch64::SP,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::IRGstack),
                   MVT::i64, 2, 2, 1,
  17,
   OPC_CheckChild1Integer, 18|128,7,
   OPC_CheckPatternPredicate, 79,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,61|128,3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::MRS),
                   MVT::i64, MVT::i32, 1, 1,
  16,
   OPC_CheckChild1Integer, 109|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STLXPX),
                   MVT::i32, 3, 1, 2, 3,
  16,
   OPC_CheckChild1Integer, 111|128,9,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::STXPX),
                   MVT::i32, 3, 1, 2, 3,
  72,
   OPC_CheckChild1Integer, 105|128,9,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 109,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 74|128,3,
   OPC_EmitIntegerI32, AArch64::x8sub_0,
   OPC_EmitIntegerI32, AArch64::x8sub_1,
   OPC_EmitIntegerI32, AArch64::x8sub_2,
   OPC_EmitIntegerI32, AArch64::x8sub_3,
   OPC_EmitIntegerI32, AArch64::x8sub_4,
   OPC_EmitIntegerI32, AArch64::x8sub_5,
   OPC_EmitIntegerI32, AArch64::x8sub_6,
   OPC_EmitIntegerI32, AArch64::x8sub_7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   124|128,1, 17, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::ST64BV),
                   MVT::i64, 2, 19, 1,
  72,
   OPC_CheckChild1Integer, 106|128,9,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_RecordChild7,
   OPC_MoveChild, 8,
   OPC_RecordNode,
   OPC_MoveSibling, 9,
   OPC_RecordNode,
   OPC_MoveSibling, 10,
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 109,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 74|128,3,
   OPC_EmitIntegerI32, AArch64::x8sub_0,
   OPC_EmitIntegerI32, AArch64::x8sub_1,
   OPC_EmitIntegerI32, AArch64::x8sub_2,
   OPC_EmitIntegerI32, AArch64::x8sub_3,
   OPC_EmitIntegerI32, AArch64::x8sub_4,
   OPC_EmitIntegerI32, AArch64::x8sub_5,
   OPC_EmitIntegerI32, AArch64::x8sub_6,
   OPC_EmitIntegerI32, AArch64::x8sub_7,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   124|128,1, 17, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8, 17, 9, 18,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::ST64BV0),
                   MVT::i64, 2, 19, 1,
  19|128,3,
   OPC_CheckChild1Integer, 63|128,7,
   OPC_RecordChild2,
   OPC_SwitchType , 47, 42|128,1,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/57, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_B),
                     42|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_B),
                     42|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 48|128,1,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     48|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     48|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 53|128,1,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_S),
                     53|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_S),
                     53|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 58|128,1,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_D),
                     58|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_D),
                     58|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     66|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     66|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 72|128,1,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     72|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_H),
                     72|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_S),
                     77|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_S),
                     77|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 81|128,1,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_D),
                     81|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_D),
                     81|128,1, 5, 1, 2, 5, 4, 6,
    0,
   0,
  22|128,3,
   OPC_CheckChild1Integer, 69|128,7,
   OPC_RecordChild2,
   OPC_SwitchType , 47, 42|128,1,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     42|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     42|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 48|128,1,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     48|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     48|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 53|128,1,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     53|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     53|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 58|128,1,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     58|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     58|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     66|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     66|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 72|128,1,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     72|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     72|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     77|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     77|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 81|128,1,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     81|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_H_Q),
                     81|128,1, 5, 1, 2, 5, 4, 6,
    0,
   0,
  19|128,3,
   OPC_CheckChild1Integer, 66|128,7,
   OPC_RecordChild2,
   OPC_SwitchType , 47, 42|128,1,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/108, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/57, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_B),
                     42|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_B),
                     42|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 48|128,1,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     48|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     48|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 53|128,1,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_S),
                     53|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_S),
                     53|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 58|128,1,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_D),
                     58|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_D),
                     58|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     66|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     66|128,1, 5, 1, 2, 5, 4, 6,
    0,
   46, 72|128,1,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/63, /*#*/3,
    OPC_Scope, 14,
     OPC_CheckComplexPat3, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     72|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_H),
                     72|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/83, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/47, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_S),
                     77|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_S),
                     77|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 81|128,1,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/84, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/48, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_D),
                     81|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_D),
                     81|128,1, 5, 1, 2, 5, 4, 6,
    0,
   0,
  22|128,3,
   OPC_CheckChild1Integer, 70|128,7,
   OPC_RecordChild2,
   OPC_SwitchType , 47, 42|128,1,
    OPC_CheckChild2Type, 42|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     42|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     42|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 48|128,1,
    OPC_CheckChild2Type, 48|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     48|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     48|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 53|128,1,
    OPC_CheckChild2Type, 53|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     53|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     53|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 58|128,1,
    OPC_CheckChild2Type, 58|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     58|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     58|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     66|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     66|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 72|128,1,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     72|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     72|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     77|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     77|128,1, 5, 1, 2, 5, 4, 6,
    0,
   47, 81|128,1,
    OPC_CheckChild2Type, 81|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/49, /*#*/3,
    OPC_Scope, 15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     81|128,1, 5, 1, 2, 5, 6, 7,
    14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EXTRACT_ZPMXI_V_Q),
                     81|128,1, 5, 1, 2, 5, 4, 6,
    0,
   0,
  60|128,1,
   OPC_CheckChild1Integer, 71|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 22,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/57, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_B_PSEUDO),
                    42|128,1, 3, 1, 3, 4,
   21,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_H_PSEUDO),
                    48|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/47, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_S_PSEUDO),
                    53|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/48, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_D_PSEUDO),
                    58|128,1, 3, 1, 3, 4,
   40,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 14, 72|128,1,
     OPC_CheckPatternPredicate, 30,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_H_PSEUDO),
                     72|128,1, 3, 1, 3, 4,
    14, 66|128,1,
     OPC_CheckPatternPredicate, 30,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_H_PSEUDO),
                     66|128,1, 3, 1, 3, 4,
    0,
   22,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/47, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_S_PSEUDO),
                    77|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/48, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_D_PSEUDO),
                    81|128,1, 3, 1, 3, 4,
   0,
  60|128,1,
   OPC_CheckChild1Integer, 76|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 22,
    OPC_CheckPredicate, 69,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/57, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_B_PSEUDO),
                    42|128,1, 3, 1, 3, 4,
   21,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_H_PSEUDO),
                    48|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/47, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_S_PSEUDO),
                    53|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/48, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_D_PSEUDO),
                    58|128,1, 3, 1, 3, 4,
   40,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 14, 72|128,1,
     OPC_CheckPatternPredicate, 30,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_H_PSEUDO),
                     72|128,1, 3, 1, 3, 4,
    14, 66|128,1,
     OPC_CheckPatternPredicate, 30,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_H_PSEUDO),
                     66|128,1, 3, 1, 3, 4,
    0,
   22,
    OPC_CheckPredicate, 53,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/47, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_S_PSEUDO),
                    77|128,1, 3, 1, 3, 4,
   22,
    OPC_CheckPredicate, 89,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/48, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_D_PSEUDO),
                    81|128,1, 3, 1, 3, 4,
   0,
  30|128,1,
   OPC_CheckChild1Integer, 74|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 114,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 15, 42|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    42|128,1, 3, 1, 3, 4,
   15, 48|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    48|128,1, 3, 1, 3, 4,
   15, 53|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    53|128,1, 3, 1, 3, 4,
   15, 58|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    58|128,1, 3, 1, 3, 4,
   15, 72|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    72|128,1, 3, 1, 3, 4,
   15, 66|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    66|128,1, 3, 1, 3, 4,
   15, 77|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    77|128,1, 3, 1, 3, 4,
   15, 81|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_H_Q_PSEUDO),
                    81|128,1, 3, 1, 3, 4,
   0,
  30|128,1,
   OPC_CheckChild1Integer, 75|128,7,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 114,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 15, 42|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    42|128,1, 3, 1, 3, 4,
   15, 48|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    48|128,1, 3, 1, 3, 4,
   15, 53|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    53|128,1, 3, 1, 3, 4,
   15, 58|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    58|128,1, 3, 1, 3, 4,
   15, 72|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    72|128,1, 3, 1, 3, 4,
   15, 66|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    66|128,1, 3, 1, 3, 4,
   15, 77|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    77|128,1, 3, 1, 3, 4,
   15, 81|128,1,
    OPC_CheckPatternPredicate, 30,
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::MOVAZ_ZMI_V_Q_PSEUDO),
                    81|128,1, 3, 1, 3, 4,
   0,
  101,
   OPC_CheckChild1Integer, 82|128,12,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 44, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild3TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q_IMM),
                     53|128,1, 3, 1, 2, 3,
    0,
   44, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q_IMM),
                     77|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q),
                     77|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild3TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_Q_IMM),
                     77|128,1, 3, 1, 2, 3,
    0,
   0,
  101,
   OPC_CheckChild1Integer, 81|128,12,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 44, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild3TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q_IMM),
                     58|128,1, 3, 1, 2, 3,
    0,
   44, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q_IMM),
                     81|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q),
                     81|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild3TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_Q_IMM),
                     81|128,1, 3, 1, 2, 3,
    0,
   0,
  123,
   OPC_CheckChild1Integer, 32|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_SwitchType , 15, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_B),
                    42|128,1, 3, 4, 2, 3,
   15, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_H),
                    48|128,1, 3, 4, 2, 3,
   15, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_S),
                    53|128,1, 3, 4, 2, 3,
   15, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_H),
                    66|128,1, 3, 4, 2, 3,
   15, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_H),
                    72|128,1, 3, 4, 2, 3,
   15, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI2_ZTZI_S),
                    77|128,1, 3, 4, 2, 3,
   0,
  122,
   OPC_CheckChild1Integer, 35|128,7,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_SwitchType , 15, 42|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_B),
                    42|128,1, 3, 4, 2, 3,
   15, 48|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_H),
                    48|128,1, 3, 4, 2, 3,
   15, 53|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_S),
                    53|128,1, 3, 4, 2, 3,
   15, 66|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_H),
                    66|128,1, 3, 4, 2, 3,
   15, 72|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_H),
                    72|128,1, 3, 4, 2, 3,
   15, 77|128,1,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/34, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LUTI4_ZTZI_S),
                    77|128,1, 3, 4, 2, 3,
   0,
  61,
   OPC_CheckChild1Integer, 126|128,4,
   OPC_RecordChild2,
   OPC_SwitchType , 36, MVT::v8i8,
    OPC_Scope, 15,
     OPC_CheckChild2Type, MVT::v4f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_F16v8f8),
                     MVT::v8i8, 2, 1, 2,
    17,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_F32v8f8),
                     MVT::v8i8, 2, 1, 2,
    0,
   15, MVT::v16i8,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_F16v16f8),
                    MVT::v16i8, 2, 1, 2,
   0,
  27,
   OPC_CheckChild1Integer, 127|128,4,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 4|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 4|128,1,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_F322v16f8),
                   MVT::v16i8, 3, 1, 2, 3,
  13,
   OPC_CheckChild1Integer, 56|128,13,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::RDFFR_PPz),
                   35|128,1, 1, 1,
  11,
   OPC_CheckChild1Integer, 55|128,13,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::RDFFR_P),
                   35|128,1, 0,
  78,
   OPC_CheckChild1Integer, 4|128,12,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_Z2Z_HtoB),
                    42|128,1, 1, 6,
   35,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN_Z2Z_HtoB),
                    42|128,1, 1, 6,
   0,
  39,
   OPC_CheckChild1Integer, 6|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 77|128,1,
   OPC_CheckPatternPredicate, 63,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 3, 1, 4, 2, 5,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNB_Z2Z_StoB),
                   42|128,1, 1, 6,
  41,
   OPC_CheckChild1Integer, 7|128,12,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 77|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 77|128,1,
   OPC_CheckPatternPredicate, 63,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 5|128,1,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 5, 4, 2, 5, 3, 6,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNT_Z2Z_StoB),
                   42|128,1, 2, 1, 7,
  78,
   OPC_CheckChild1Integer, 122|128,11,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 66|128,1,
    OPC_CheckPatternPredicate, 100,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVT_Z2Z_HtoB),
                    42|128,1, 1, 6,
   35,
    OPC_CheckChild2Type, 72|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 72|128,1,
    OPC_CheckPatternPredicate, 100,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 5|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVT_Z2Z_HtoB),
                    42|128,1, 1, 6,
   0,
  43,
   OPC_CheckChild1Integer, 123|128,11,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 100,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 5, 1, 6, 2, 7, 3, 8, 4, 9,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVT_Z4Z_StoB),
                   42|128,1, 1, 10,
  43,
   OPC_CheckChild1Integer, 5|128,12,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 100,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 71|128,2,
   OPC_EmitIntegerI32, AArch64::zsub0,
   OPC_EmitIntegerI32, AArch64::zsub1,
   OPC_EmitIntegerI32, AArch64::zsub2,
   OPC_EmitIntegerI32, AArch64::zsub3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   119|128,1, 9, 5, 1, 6, 2, 7, 3, 8, 4, 9,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTN_Z4Z_StoB),
                   42|128,1, 1, 10,
  30,
   OPC_CheckChild1Integer, 5|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8f16,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALBlanev8f16),
                   MVT::v8f16, 4, 1, 2, 3, 4,
  30,
   OPC_CheckChild1Integer, 15|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8f16,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALTlanev8f16),
                   MVT::v8f16, 4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 7|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBBlanev4f32),
                   4|128,1, 4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 9|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBTlanev4f32),
                   4|128,1, 4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 11|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTBlanev4f32),
                   4|128,1, 4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 13|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTTlanev4f32),
                   4|128,1, 4, 1, 2, 3, 4,
  62,
   OPC_CheckChild1Integer, 1|128,5,
   OPC_RecordChild2,
   OPC_Scope, 27,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 101,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTlanev4f16),
                    MVT::v4f16, 4, 1, 2, 3, 4,
   27,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 101,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTlanev8f16),
                    MVT::v8f16, 4, 1, 2, 3, 4,
   0,
  68,
   OPC_CheckChild1Integer, 3|128,5,
   OPC_RecordChild2,
   OPC_Scope, 30,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTlanev2f32),
                    2|128,1, 4, 1, 2, 3, 4,
   30,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTlanev4f32),
                    4|128,1, 4, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild1Integer, 124|128,4,
   OPC_RecordChild2,
   OPC_Scope, 26,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_SwitchType , 9, MVT::v8f16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F1CVTL),
                     MVT::v8f16, 1, 1,
    9, MVT::v8bf16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF1CVTL),
                     MVT::v8bf16, 1, 1,
    0,
   26,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_SwitchType , 9, MVT::v8f16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F1CVTL2),
                     MVT::v8f16, 1, 1,
    9, MVT::v8bf16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF1CVTL2),
                     MVT::v8bf16, 1, 1,
    0,
   0,
  60,
   OPC_CheckChild1Integer, 125|128,4,
   OPC_RecordChild2,
   OPC_Scope, 26,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_SwitchType , 9, MVT::v8f16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F2CVTL),
                     MVT::v8f16, 1, 1,
    9, MVT::v8bf16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF2CVTL),
                     MVT::v8bf16, 1, 1,
    0,
   26,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_SwitchType , 9, MVT::v8f16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F2CVTL2),
                     MVT::v8f16, 1, 1,
    9, MVT::v8bf16,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF2CVTL2),
                     MVT::v8bf16, 1, 1,
    0,
   0,
  21,
   OPC_CheckChild1Integer, 4|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8f16,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALBv16i8_v8f16),
                   MVT::v8f16, 3, 1, 2, 3,
  21,
   OPC_CheckChild1Integer, 14|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8f16,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALTv16i8_v8f16),
                   MVT::v8f16, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 6|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBBv4f32),
                   4|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 8|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBTv4f32),
                   4|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 10|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTBv4f32),
                   4|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 12|128,5,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 4|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTTv4f32),
                   4|128,1, 3, 1, 2, 3,
  48,
   OPC_CheckChild1Integer, 0|128,5,
   OPC_RecordChild2,
   OPC_SwitchType , 19, MVT::v4f16,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 101,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTv4f16),
                    MVT::v4f16, 3, 1, 2, 3,
   19, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 101,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTv8f16),
                    MVT::v8f16, 3, 1, 2, 3,
   0,
  54,
   OPC_CheckChild1Integer, 2|128,5,
   OPC_RecordChild2,
   OPC_SwitchType , 21, 2|128,1,
    OPC_CheckChild2Type, 2|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTv2f32),
                    2|128,1, 3, 1, 2, 3,
   21, 4|128,1,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOTv4f32),
                    4|128,1, 3, 1, 2, 3,
   0,
  32,
   OPC_CheckChild1Integer, 124|128,11,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 66|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F1CVT_ZZ_BtoH),
                    66|128,1, 1, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF1CVT_ZZ_BtoH),
                    72|128,1, 1, 1,
   0,
  32,
   OPC_CheckChild1Integer, 126|128,11,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 66|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F2CVT_ZZ_BtoH),
                    66|128,1, 1, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF2CVT_ZZ_BtoH),
                    72|128,1, 1, 1,
   0,
  32,
   OPC_CheckChild1Integer, 2|128,12,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 66|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F1CVTLT_ZZ_BtoH),
                    66|128,1, 1, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF1CVTLT_ZZ_BtoH),
                    72|128,1, 1, 1,
   0,
  32,
   OPC_CheckChild1Integer, 3|128,12,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 66|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::F2CVTLT_ZZ_BtoH),
                    66|128,1, 1, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BF2CVTLT_ZZ_BtoH),
                    72|128,1, 1, 1,
   0,
  26,
   OPC_CheckChild1Integer, 11|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALB_ZZZI),
                   66|128,1, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 21|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALT_ZZZI),
                   66|128,1, 4, 1, 2, 3, 4,
  24,
   OPC_CheckChild1Integer, 10|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALB_ZZZ),
                   66|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 20|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 66|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALT_ZZZ),
                   66|128,1, 3, 1, 2, 3,
  26,
   OPC_CheckChild1Integer, 13|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBB_ZZZI),
                   77|128,1, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 15|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBT_ZZZI),
                   77|128,1, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 17|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTB_ZZZI),
                   77|128,1, 4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Integer, 19|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTT_ZZZI),
                   77|128,1, 4, 1, 2, 3, 4,
  24,
   OPC_CheckChild1Integer, 12|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBB_ZZZ),
                   77|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 14|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLBT_ZZZ),
                   77|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 16|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTB_ZZZ),
                   77|128,1, 3, 1, 2, 3,
  24,
   OPC_CheckChild1Integer, 18|128,12,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 77|128,1,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 65,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLALLTT_ZZZ),
                   77|128,1, 3, 1, 2, 3,
  46,
   OPC_CheckChild1Integer, 22|128,12,
   OPC_RecordChild2,
   OPC_SwitchType , 17, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 135,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMMLA_ZZZ_BtoS),
                    77|128,1, 3, 1, 2, 3,
   17, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 136,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMMLA_ZZZ_BtoH),
                    66|128,1, 3, 1, 2, 3,
   0,
  50,
   OPC_CheckChild1Integer, 9|128,12,
   OPC_RecordChild2,
   OPC_SwitchType , 19, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 115,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOT_ZZZI_BtoH),
                    66|128,1, 4, 1, 2, 3, 4,
   19, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_CheckPatternPredicate, 116,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOT_ZZZI_BtoS),
                    77|128,1, 4, 1, 2, 3, 4,
   0,
  46,
   OPC_CheckChild1Integer, 8|128,12,
   OPC_RecordChild2,
   OPC_SwitchType , 17, 66|128,1,
    OPC_CheckChild2Type, 66|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 115,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOT_ZZZ_BtoH),
                    66|128,1, 3, 1, 2, 3,
   17, 77|128,1,
    OPC_CheckChild2Type, 77|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 116,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDOT_ZZZ_BtoS),
                    77|128,1, 3, 1, 2, 3,
   0,
  0,
 19|128,7, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 20,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/21, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  20,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/21, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  20,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/22, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  20,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/22, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  21,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/16, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  21,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/16, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  21,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/17, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  21,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/17, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  80,
   OPC_CheckPredicate, 90,
   OPC_SwitchType , 36, MVT::i32,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate, 50,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/29, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    14,
     OPC_CheckComplexPat, /*CP*/30, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   36, MVT::i64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 50,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 4, 2, 3, 4, 5,
    14,
     OPC_CheckComplexPat, /*CP*/26, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 4, 2, 3, 4, 5,
    0,
   0,
  18,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/20, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  18,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/20, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  18,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/19, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  18,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/19, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  19,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/14, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  19,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/14, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  19,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  19,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 50,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  72,
   OPC_CheckPredicate, 90,
   OPC_SwitchType , 32, MVT::i32,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate, 50,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   32, MVT::i64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 50,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/27, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXui), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURXi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   0,
  20,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 18,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 88,
   OPC_CheckComplexPat, /*CP*/19, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  20,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate0,
   OPC_CheckPredicate, 18,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 88,
   OPC_CheckComplexPat, /*CP*/19, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  21,
   OPC_CheckPredicate, 62,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 18,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 88,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  21,
   OPC_CheckPredicate, 63,
   OPC_CheckPredicate, 14,
   OPC_CheckPredicate, 18,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 88,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 2, 2, 3,
  44,
   OPC_CheckPredicate, 90,
   OPC_SwitchType , 18, MVT::i32,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 88,
    OPC_CheckComplexPat, /*CP*/31, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   18, MVT::i64,
    OPC_CheckPredicate, 42,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 88,
    OPC_CheckComplexPat, /*CP*/24, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPURXi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 3,
   0,
  39|128,2,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 16,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 89,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   16,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 89,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   17,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 89,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   17,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 89,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   36,
    OPC_CheckPredicate, 90,
    OPC_SwitchType , 14, MVT::i32,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 1,
    14, MVT::i64,
     OPC_CheckPredicate, 42,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAPRX), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 1,
    0,
   14,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 21,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   14,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 21,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   14,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   14,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate0,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   15,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 21,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   15,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 21,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   15,
    OPC_CheckPredicate, 62,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   15,
    OPC_CheckPredicate, 63,
    OPC_CheckPredicate, 14,
    OPC_CheckPredicate, 18,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1,
   60,
    OPC_CheckPredicate, 90,
    OPC_SwitchType , 26, MVT::i32,
     OPC_CheckPredicate, 34,
     OPC_Scope, 10,
      OPC_CheckPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 1,
     10,
      OPC_CheckPredicate, 18,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 1,
     0,
    26, MVT::i64,
     OPC_CheckPredicate, 42,
     OPC_Scope, 10,
      OPC_CheckPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 1, 1,
     10,
      OPC_CheckPredicate, 18,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 1, 1,
     0,
    0,
   0,
  0,
 44|128,10, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_Scope, 114|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 46|128,8, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 44,
     OPC_CheckChild0Integer, 66|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCB_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 32|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECB_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 72|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCH_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 38|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECH_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 78|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCW_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 44|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECW_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 69|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCD_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    44,
     OPC_CheckChild0Integer, 35|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 9,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i64, 0,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::i64, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECD_XPiWdI),
                     MVT::i64, 3, 5, 1, 2,
    119,
     OPC_CheckChild0Integer, 75|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_Scope, 27,
      OPC_CheckChild2Type, 35|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XPWd_B),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 34|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XPWd_H),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 33|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XPWd_S),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 32|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQINCP_XPWd_D),
                      MVT::i64, 2, 1, 4,
     0,
    119,
     OPC_CheckChild0Integer, 41|128,14,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_Scope, 27,
      OPC_CheckChild2Type, 35|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XPWd_B),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 34|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XPWd_H),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 33|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XPWd_S),
                      MVT::i64, 2, 1, 4,
     27,
      OPC_CheckChild2Type, 32|128,1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i64, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::i64, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDECP_XPWd_D),
                      MVT::i64, 2, 1, 4,
     0,
    26|128,1,
     OPC_CheckChild0Integer, 47|128,5,
     OPC_RecordChild1,
     OPC_SwitchType , 72, MVT::i8,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v8i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      0,
     72, MVT::i16,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     0,
    26|128,1,
     OPC_CheckChild0Integer, 57|128,5,
     OPC_RecordChild1,
     OPC_SwitchType , 72, MVT::i8,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v8i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      0,
     72, MVT::i16,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     0,
    26|128,1,
     OPC_CheckChild0Integer, 60|128,5,
     OPC_RecordChild1,
     OPC_SwitchType , 72, MVT::i8,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v8i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv16i8v),
                       MVT::i8, 1, 0,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi8to32),
                       MVT::i32, 2, 4, 5,
      0,
     72, MVT::i16,
      OPC_Scope, 34,
       OPC_CheckChild1Type, MVT::v4i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      34,
       OPC_CheckChild1Type, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v16i8, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i16v),
                       MVT::i16, 1, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 1, 2, 3,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi16to32),
                       MVT::i32, 2, 4, 5,
      0,
     0,
    0,
   58, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi32to64),
                     MVT::i64, 2, 0, 2,
    32,
     OPC_CheckChild0Type, 53|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMOVvi32to64),
                     MVT::i64, 2, 3, 4,
    0,
   0,
  52|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 28, MVT::i64,
    OPC_CheckChild0TypeI32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::i64, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI64, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                    MVT::i64, 3, 3, 4, 5,
   25, MVT::v8i16,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv16i8_shift),
                     MVT::v8i16, 2, 1, 2,
    9,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                     MVT::v8i16, 2, 0, 1,
    0,
   24, MVT::v4i32,
    OPC_Scope, 11,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv8i16_shift),
                     MVT::v4i32, 2, 1, 2,
    9,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                     MVT::v4i32, 2, 0, 1,
    0,
   24, MVT::v2i64,
    OPC_Scope, 11,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv4i32_shift),
                     MVT::v2i64, 2, 1, 2,
    9,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                     MVT::v2i64, 2, 0, 1,
    0,
   14, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_B),
                    42|128,1, 3, 0, 1, 2,
   14, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_H),
                    48|128,1, 3, 0, 1, 2,
   14, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_S),
                    53|128,1, 3, 0, 1, 2,
   14, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 44|128,1, TARGET_VAL(ISD::PTRADD),
  OPC_RecordChild0,
  OPC_Scope, 23|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 51, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0,
    OPC_Scope, 29,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 141,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 86,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBPT_shift),
                     MVT::i64, 3, 0, 1, 3,
    16,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 86,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBPT_shift),
                     MVT::i64, 3, 0, 1, 2,
    0,
   64, TARGET_VAL(ISD::MUL),
    OPC_Scope, 22,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_CheckChild0Integer, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 86,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBPT),
                     MVT::i64, 3, 1, 2, 0,
    22,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_CheckChild0Integer, 0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 86,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSUBPT),
                     MVT::i64, 3, 2, 1, 0,
    15,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 86,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MADDPT),
                     MVT::i64, 3, 1, 2, 0,
    0,
   24, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 141,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 86,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPT_shift),
                    MVT::i64, 3, 0, 1, 3,
   0,
  15,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 86,
   OPC_EmitIntegerI64, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPT_shift),
                   MVT::i64, 3, 0, 1, 2,
  0,
 0|128,12, TARGET_VAL(ISD::MSTORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 36|128,2,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_Scope, 58|128,1,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_Scope, 52,
     OPC_CheckPredicate, 101,
     OPC_Scope, 15,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     15,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     15,
      OPC_CheckPredicate, 142,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     0,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    55,
     OPC_CheckPredicate, 101,
     OPC_Scope, 16,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     16,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     16,
      OPC_CheckPredicate, 142,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     0,
    16,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   97,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_Scope, 52,
     OPC_CheckPredicate, 101,
     OPC_Scope, 15,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 2, 4,
     15,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 2, 4,
     15,
      OPC_CheckPredicate, 142,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 2, 4,
     0,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    0,
   0,
  74,
   OPC_CheckChild1Type, 64|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 70|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 76|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 32|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  115|128,1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_Scope, 25|128,1,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_Scope, 36,
     OPC_CheckPredicate, 101,
     OPC_Scope, 15,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     15,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     0,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    38,
     OPC_CheckPredicate, 101,
     OPC_Scope, 16,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     16,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 4, 5,
     0,
    16,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   81,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_Scope, 36,
     OPC_CheckPredicate, 101,
     OPC_Scope, 15,
      OPC_CheckPredicate, 102,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 2, 4,
     15,
      OPC_CheckPredicate, 117,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 3, 2, 4,
     0,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    0,
   0,
  74,
   OPC_CheckChild1Type, 65|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 71|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 33|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  56|128,1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_Scope, 114,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_Scope, 17,
     OPC_CheckPredicate, 101,
     OPC_CheckPredicate, 102,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    18,
     OPC_CheckPredicate, 101,
     OPC_CheckPredicate, 102,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   62,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_Scope, 17,
     OPC_CheckPredicate, 101,
     OPC_CheckPredicate, 102,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    0,
   0,
  74,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  74,
   OPC_CheckChild1Type, 72|128,1,
   OPC_RecordChild2,
   OPC_Scope, 41,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   25,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 34|128,1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 3, 2, 4,
   0,
  1|128,1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_Scope, 77,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_Scope, 15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    16,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 4, 5,
    0,
   44,
    OPC_CheckChild2TypeI64,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 35|128,1,
    OPC_Scope, 15,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    15,
     OPC_CheckPredicate, 76,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 3, 2, 4,
    0,
   0,
  0,
 48, TARGET_VAL(AArch64ISD::LOADgot),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LOADgot),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LOADgot),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LOADgot),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LOADgot),
                   MVT::i64, 1, 0,
  0,
 12|128,6, TARGET_VAL(AArch64ISD::CSEL),
  OPC_Scope, 96,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 45,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 15, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 2, 3, 4,
    15, MVT::i64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 2, 3, 4,
    0,
   45,
    OPC_CheckChild1Integer, 127,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 15, MVT::i32,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                     MVT::i32, 3, 2, 3, 4,
    15, MVT::i64,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitRegisterI64, AArch64::XZR,
     OPC_EmitConvertToTarget0,
     OPC_EmitCopyToReg1, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                     MVT::i64, 3, 2, 3, 4,
    0,
   0,
  90,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 40, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 1,
    OPC_CheckPredicate, 33,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 11, MVT::i32,
     OPC_EmitConvertToTarget2,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 0, 1, 4,
    11, MVT::i64,
     OPC_EmitConvertToTarget2,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 0, 1, 4,
    0,
   40, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 1,
    OPC_CheckPredicate, 33,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 11, MVT::i32,
     OPC_EmitConvertToTarget2,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 0, 1, 4,
    11, MVT::i64,
     OPC_EmitConvertToTarget2,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 0, 1, 4,
    0,
   0,
  105,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 48, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 1,
    OPC_CheckPredicate, 33,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 14, MVT::i32,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 26, 4,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 1, 0, 5,
    14, MVT::i64,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 26, 4,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 1, 0, 5,
    0,
   48, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 1,
    OPC_CheckPredicate, 33,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 14, MVT::i32,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 26, 4,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                     MVT::i32, 3, 1, 0, 5,
    14, MVT::i64,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 26, 4,
     OPC_EmitCopyToReg3, AArch64::NZCV,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                     MVT::i64, 3, 1, 0, 5,
    0,
   0,
  43,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 11, MVT::i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                    MVT::i32, 3, 0, 1, 4,
   11, MVT::i64,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                    MVT::i64, 3, 0, 1, 4,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 14, MVT::i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                    MVT::i32, 3, 1, 0, 5,
   14, MVT::i64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                    MVT::i64, 3, 1, 0, 5,
   0,
  43,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 11, MVT::i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGWr),
                    MVT::i32, 3, 0, 1, 4,
   11, MVT::i64,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGXr),
                    MVT::i64, 3, 0, 1, 4,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 14, MVT::i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGWr),
                    MVT::i32, 3, 1, 0, 5,
   14, MVT::i64,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGXr),
                    MVT::i64, 3, 1, 0, 5,
   0,
  42,
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 13, MVT::i32,
    OPC_EmitRegisterI32, AArch64::WZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                    MVT::i32, 3, 0, 3, 4,
   13, MVT::i64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 0, 3, 4,
   0,
  48,
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 16, MVT::i32,
    OPC_EmitRegisterI32, AArch64::WZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                    MVT::i32, 3, 0, 3, 5,
   16, MVT::i64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                    MVT::i64, 3, 0, 3, 5,
   0,
  42,
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 13, MVT::i32,
    OPC_EmitRegisterI32, AArch64::WZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                    MVT::i32, 3, 0, 3, 4,
   13, MVT::i64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                    MVT::i64, 3, 0, 3, 4,
   0,
  48,
   OPC_CheckChild0Integer, 127,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 16, MVT::i32,
    OPC_EmitRegisterI32, AArch64::WZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                    MVT::i32, 3, 0, 3, 5,
   16, MVT::i64,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 26, 4,
    OPC_EmitCopyToReg2, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                    MVT::i64, 3, 0, 3, 5,
   0,
  109,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 11, MVT::i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELWr),
                    MVT::i32, 3, 0, 1, 4,
   11, MVT::i64,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSELXr),
                    MVT::i64, 3, 0, 1, 4,
   13, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCSELHrrr),
                    MVT::f16, 3, 0, 1, 4,
   12, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCSELSrrr),
                    MVT::f32, 3, 0, 1, 4,
   12, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCSELDrrr),
                    MVT::f64, 3, 0, 1, 4,
   13, MVT::bf16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCSELHrrr),
                    MVT::bf16, 3, 0, 1, 4,
   12, MVT::f128,
    OPC_CheckPatternPredicate6,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::F128CSEL),
                    MVT::f128, 3, 0, 1, 4,
   0,
  0,
 42, TARGET_VAL(AArch64ISD::AUTH_CALL_RVMARKER),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_RecordChild4,
  OPC_MoveChild4,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling5,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild6,
  OPC_CheckPatternPredicate, 77,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLRA_RVMARKER), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic6,
                  MVT::i64, 6, 1, 2, 3, 4, 5, 6,
 82|128,15, TARGET_VAL(ISD::MSCATTER),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 8|128,5,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 17|128,2,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 3|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 109,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    3|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 109,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   112,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 23,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 109,
     OPC_CheckPredicate, 15,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 2, 4, 5,
    26,
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 70,
     OPC_CheckPredicate, 15,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 9, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 2, 4, 6,
    26,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 103,
     OPC_CheckPredicate, 15,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 10, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 2, 4, 6,
    26,
     OPC_CheckPredicate, 97,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 38,
     OPC_CheckPredicate, 15,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 11, 5,
     OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 2, 4, 6,
    0,
   120|128,1,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 125,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 109,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    118,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_Scope, 15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 109,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 70,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 103,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     15,
      OPC_CheckPredicate, 38,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   0,
  107|128,1,
   OPC_CheckChild1Type, 64|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 107,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   31,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 54,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 4, 6,
   84,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 43,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    36,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   0,
  107|128,1,
   OPC_CheckChild1Type, 76|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 107,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   31,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 66,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 5,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 4, 6,
   84,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 43,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    36,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   0,
  107|128,1,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 107,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   31,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 97,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 11, 5,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 4, 6,
   84,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 43,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    36,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   0,
  107|128,1,
   OPC_CheckChild1Type, 70|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 107,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   31,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 54,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 58|128,1,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 4, 6,
   84,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 43,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    36,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 38,
     OPC_Scope, 13,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 1, 2, 3, 4,
     0,
    0,
   0,
  47|128,1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 33|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_Scope, 15,
    OPC_CheckPredicate, 70,
    OPC_CheckPredicate, 24,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 24,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 109,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 70,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 70,
    OPC_CheckPredicate, 94,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 94,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 109,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 70,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckPredicate, 38,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   0,
  73,
   OPC_CheckChild1Type, 65|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 33|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_CheckPredicate, 38,
   OPC_Scope, 13,
    OPC_CheckPredicate, 24,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 94,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   0,
  73,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 33|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_CheckPredicate, 38,
   OPC_Scope, 13,
    OPC_CheckPredicate, 24,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 94,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   0,
  73,
   OPC_CheckChild1Type, 71|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 33|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_CheckPredicate, 38,
   OPC_Scope, 13,
    OPC_CheckPredicate, 24,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 15,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 94,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   13,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    4, 1, 2, 3, 4,
   0,
  0,
 108|128,1, TARGET_VAL(AArch64ISD::WrapperLarge),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 55, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_RecordNode,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_RecordNode,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVZXi),
                   MVT::i64, 2, 3, 4,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 5, 2, 6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 7, 1, 8,
   OPC_EmitIntegerI32, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 9, 0, 10,
  55, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_RecordNode,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_RecordNode,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVZXi),
                   MVT::i64, 2, 3, 4,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 5, 2, 6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 7, 1, 8,
   OPC_EmitIntegerI32, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 9, 0, 10,
  55, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_RecordNode,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_RecordNode,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVZXi),
                   MVT::i64, 2, 3, 4,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 5, 2, 6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 7, 1, 8,
   OPC_EmitIntegerI32, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 9, 0, 10,
  55, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
   OPC_RecordNode,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
   OPC_RecordNode,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVZXi),
                   MVT::i64, 2, 3, 4,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 5, 2, 6,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 7, 1, 8,
   OPC_EmitIntegerI32, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVKXi),
                   MVT::i64, 3, 9, 0, 10,
  0,
 86|128,1, TARGET_VAL(ISD::VSCALE),
  OPC_CheckTypeI64,
  OPC_Scope, 0|128,1,
   OPC_RecordChild0,
   OPC_CheckPatternPredicate0,
   OPC_Scope, 9,
    OPC_CheckComplexPat, /*CP*/113, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RDVLI_XI),
                    MVT::i64, 1, 1,
   12,
    OPC_CheckComplexPat, /*CP*/72, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTH_XPiI),
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckComplexPat, /*CP*/73, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTW_XPiI),
                    MVT::i64, 2, 2, 1,
   12,
    OPC_CheckComplexPat, /*CP*/74, /*#*/0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTD_XPiI),
                    MVT::i64, 2, 2, 1,
   24,
    OPC_CheckComplexPat, /*CP*/67, /*#*/0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTH_XPiI),
                    MVT::i64, 2, 3, 1,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 2, 4, 5,
   24,
    OPC_CheckComplexPat, /*CP*/68, /*#*/0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTW_XPiI),
                    MVT::i64, 2, 3, 1,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 2, 4, 5,
   24,
    OPC_CheckComplexPat, /*CP*/69, /*#*/0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::CNTD_XPiI),
                    MVT::i64, 2, 3, 1,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBXrs),
                    MVT::i64, 3, 2, 4, 5,
   0,
  23,
   OPC_CheckChild0Integer, 1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::RDVLI_XI),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI64, 4,
   OPC_EmitIntegerI64, 63,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMXri),
                   MVT::i64, 3, 1, 2, 3,
  23,
   OPC_CheckChild0Integer, 127,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(AArch64::RDVLI_XI),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI64, 4,
   OPC_EmitIntegerI64, 63,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SBFMXri),
                   MVT::i64, 3, 1, 2, 3,
  32,
   OPC_RecordChild0,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::RDVLI_XI),
                   MVT::i64, 1, 1,
   OPC_EmitIntegerI64, 4,
   OPC_EmitIntegerI64, 63,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UBFMXri),
                   MVT::i64, 3, 2, 3, 4,
   OPC_EmitRegisterI64, AArch64::XZR,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MADDXrrr),
                   MVT::i64, 3, 5, 0, 6,
  0,
 61|128,4, TARGET_VAL(AArch64ISD::ST1_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 90|128,1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_Scope, 8|128,1,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 32,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_D_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_D),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_D_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_D),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_D_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_D),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D),
                      4, 1, 3, 4, 5,
     0,
    0,
   73,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 16,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_D_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_D_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_D_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1D_IMM),
                     4, 1, 3, 2, 4,
    0,
   0,
  39|128,1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_Scope, 103,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 32,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_S_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_S),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_S_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_S),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/23, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W),
                      4, 1, 3, 4, 5,
     0,
    0,
   56,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 16,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_S_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_S_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1W_IMM),
                     4, 1, 3, 2, 4,
    0,
   0,
  117,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_Scope, 70,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 32,
     OPC_CheckValueType, 41|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_H_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/12, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_H),
                      4, 1, 3, 4, 5,
     0,
    32,
     OPC_CheckValueType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 11,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_IMM),
                      4, 1, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H),
                      4, 1, 3, 4, 5,
     0,
    0,
   39,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_Scope, 16,
     OPC_CheckValueType, 41|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_H_IMM),
                     4, 1, 3, 2, 4,
    16,
     OPC_CheckValueType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1H_IMM),
                     4, 1, 3, 2, 4,
    0,
   0,
  61,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_Scope, 34,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 11,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_IMM),
                     4, 1, 3, 4, 5,
    12,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B),
                     4, 1, 3, 4, 5,
    0,
   19,
    OPC_CheckChild2TypeI64,
    OPC_RecordChild3,
    OPC_MoveChild4,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::ST1B_IMM),
                    4, 1, 3, 2, 4,
   0,
  0,
 110|128,1, TARGET_VAL(AArch64ISD::ADDS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 115, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/101, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWrx),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/102, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/101, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWrx),
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/102, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/99, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWri),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/104, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWrs),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/99, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWri),
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/104, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWrs),
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   8,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWrr),
                    MVT::i32, MVT::i32, 2, 0, 1,
   0,
  115, MVT::i64,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/128, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXrx),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/103, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/128, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXrx),
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/103, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/100, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXri),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/70, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXrs),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/100, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXri),
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/70, /*#*/0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXrs),
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   8,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXrr),
                    MVT::i64, MVT::i32, 2, 0, 1,
   0,
  0,
 6|128,1, TARGET_VAL(AArch64ISD::SUBS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 63, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/101, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrx),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/102, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSWri),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/99, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWri),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/104, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrs),
                    MVT::i32, MVT::i32, 3, 0, 2, 3,
   8,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSWrr),
                    MVT::i32, MVT::i32, 2, 0, 1,
   0,
  63, MVT::i64,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/128, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrx),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/103, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::ADDSXri),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/100, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXri),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   12,
    OPC_CheckComplexPat, /*CP*/70, /*#*/1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrs),
                    MVT::i64, MVT::i32, 3, 0, 2, 3,
   8,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::SUBSXrr),
                    MVT::i64, MVT::i32, 2, 0, 1,
   0,
  0,
 7|128,1, TARGET_VAL(AArch64ISD::CCMN),
  OPC_RecordChild0,
  OPC_Scope, 65,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMNWi),
                    MVT::i32, 4, 0, 5, 6, 7,
   26,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMNWr),
                    MVT::i32, 4, 0, 1, 5, 6,
   0,
  65,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMNXi),
                    MVT::i32, 4, 0, 5, 6, 7,
   26,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMNXr),
                    MVT::i32, 4, 0, 1, 5, 6,
   0,
  0,
 7|128,1, TARGET_VAL(AArch64ISD::CCMP),
  OPC_RecordChild0,
  OPC_Scope, 65,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMPWi),
                    MVT::i32, 4, 0, 5, 6, 7,
   26,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMPWr),
                    MVT::i32, 4, 0, 1, 5, 6,
   0,
  65,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 41,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMPXi),
                    MVT::i32, 4, 0, 5, 6, 7,
   26,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_EmitCopyToReg4, AArch64::NZCV,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CCMPXr),
                    MVT::i32, 4, 0, 1, 5, 6,
   0,
  0,
 7|128,1, TARGET_VAL(AArch64ISD::ADDlow),
  OPC_Scope, 116,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADRP),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddr),
                    MVT::i64, 2, 0, 1,
   15, TARGET_VAL(ISD::TargetJumpTable),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddrJT),
                    MVT::i64, 2, 0, 1,
   15, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddrCP),
                    MVT::i64, 2, 0, 1,
   15, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddrBA),
                    MVT::i64, 2, 0, 1,
   15, TARGET_VAL(ISD::TargetGlobalTLSAddress),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddrTLS),
                    MVT::i64, 2, 0, 1,
   15, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVaddrEXT),
                    MVT::i64, 2, 0, 1,
   0,
  15,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDlowTLS),
                   MVT::i64, 2, 0, 1,
  0,
 60, TARGET_VAL(AArch64ISD::AUTH_TC_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_MoveSibling3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveSibling4,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild5,
  OPC_Scope, 17,
   OPC_CheckPatternPredicate, 117,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::AUTH_TCRETURN), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic5,
                   MVT::i64, 5, 1, 6, 7, 8, 5,
  17,
   OPC_CheckPatternPredicate, 118,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitConvertToTarget4,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::AUTH_TCRETURN_BTI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic5,
                   MVT::i64, 5, 1, 6, 7, 8, 5,
  0,
 19, TARGET_VAL(AArch64ISD::STG),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 60,
  OPC_CheckComplexPat, /*CP*/110, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STGi), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 19, TARGET_VAL(AArch64ISD::STZG),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 60,
  OPC_CheckComplexPat, /*CP*/110, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STZGi), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 19, TARGET_VAL(AArch64ISD::ST2G),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 60,
  OPC_CheckComplexPat, /*CP*/110, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST2Gi), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 19, TARGET_VAL(AArch64ISD::STZ2G),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate, 60,
  OPC_CheckComplexPat, /*CP*/110, /*#*/2,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STZ2Gi), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 3, 4,
 88|128,1, TARGET_VAL(ISD::SRL),
  OPC_Scope, 38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_Scope, 14,
    OPC_CheckPredicate, 158,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Wr),
                    MVT::i32, 1, 0,
   14,
    OPC_CheckPredicate, 51,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI64,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32Xr),
                    MVT::i64, 1, 0,
   0,
  45|128,1,
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 15,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI64, 31,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMWri),
                     MVT::i32, 3, 0, 2, 3,
    15,
     OPC_CheckPredicate, 86,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI64, 63,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UBFMXri),
                     MVT::i64, 3, 0, 2, 3,
    0,
   96,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVXr),
                      MVT::i64, 2, 0, 4,
     0,
    12, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVWr),
                     MVT::i32, 2, 0, 1,
    36, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVXr),
                      MVT::i64, 2, 0, 4,
     0,
    0,
   31,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVXr),
                     MVT::i64, 2, 0, 1,
    16, MVT::i32,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSRVWr),
                     MVT::i32, 2, 0, 3,
    0,
   0,
  0,
 16, TARGET_VAL(AArch64ISD::LDP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckComplexPat, /*CP*/106, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2, TARGET_VAL(AArch64::LDPXi), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, MVT::i64, 2, 2, 3,
 18, TARGET_VAL(AArch64ISD::STP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckComplexPat, /*CP*/106, /*#*/3,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STPXi), 0|OPFL_Chain|OPFL_MemRefs,
                  4, 1, 2, 4, 5,
 18, TARGET_VAL(AArch64ISD::STNP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckComplexPat, /*CP*/127, /*#*/3,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPQi), 0|OPFL_Chain|OPFL_MemRefs,
                  4, 1, 2, 4, 5,
 2|128,4, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
  OPC_RecordNode,
  OPC_Scope, 71|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 63, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 28, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/38, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWHri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/38, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWHri),
                      MVT::i32, 2, 2, 3,
     0,
    28, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/39, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXHri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/39, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXHri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   61, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 27, MVT::i32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/40, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWSri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWSri),
                      MVT::i32, 2, 2, 3,
     0,
    27, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/41, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXSri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/41, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXSri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   61, MVT::f64,
    OPC_MoveParent,
    OPC_SwitchType , 27, MVT::i32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/42, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWDri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/42, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSWDri),
                      MVT::i32, 2, 2, 3,
     0,
    27, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/43, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXDri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/43, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSXDri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   0,
  41|128,1,
   OPC_RecordChild1,
   OPC_Scope, 63,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 22, MVT::i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWHr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::i32, 1, 1,
     0,
    22, MVT::i64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXHr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::i64, 1, 1,
     0,
    9, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1f16),
                     MVT::i16, 1, 1,
    0,
   50,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 21, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWSr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 1,
     0,
    21, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXSr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::i64, 1, 1,
     0,
    0,
   50,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 21, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWDr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::i32, 1, 1,
     0,
    21, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXDr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::i64, 1, 1,
     0,
    0,
   0,
  71,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
   OPC_RecordChild0,
   OPC_SwitchType , 29, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 2, 3, 4,
   29, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                    MVT::i64, 1, 1,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 2, 3, 4,
   0,
  66,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv4f16),
                    MVT::v4i16, 1, 1,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv8f16),
                    MVT::v8i16, 1, 1,
   11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv2f32),
                    MVT::v2i32, 1, 1,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv4f32),
                    MVT::v4i32, 1, 1,
   11, MVT::v2i64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv2f64),
                    MVT::v2i64, 1, 1,
   0,
  0,
 84|128,6, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_Scope, 46|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 59, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 1, 2,
      0,
     26, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    57, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 25, MVT::i32,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 1, 2,
      0,
     25, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    57, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 25, MVT::i32,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 1, 2,
      0,
     25, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FTRUNC),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   0,
  28|128,1,
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   0,
  69,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
   OPC_RecordChild0,
   OPC_SwitchType , 28, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 1, 2, 3,
   28, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
   0,
  61,
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv8f16),
                    MVT::v8i16, 1, 0,
   10, MVT::v2i32,
    OPC_CheckChild0Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f32),
                    MVT::v2i32, 1, 0,
   10, MVT::v4i32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f32),
                    MVT::v4i32, 1, 0,
   10, MVT::v2i64,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f64),
                    MVT::v2i64, 1, 0,
   0,
  0,
 2|128,4, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
  OPC_RecordNode,
  OPC_Scope, 71|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 63, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 28, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/38, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWHri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/38, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWHri),
                      MVT::i32, 2, 2, 3,
     0,
    28, MVT::i64,
     OPC_CheckPatternPredicate, 10,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/39, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXHri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/39, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXHri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   61, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 27, MVT::i32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/40, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWSri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWSri),
                      MVT::i32, 2, 2, 3,
     0,
    27, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/41, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXSri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/41, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXSri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   61, MVT::f64,
    OPC_MoveParent,
    OPC_SwitchType , 27, MVT::i32,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/42, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWDri),
                      MVT::i32, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/42, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSWDri),
                      MVT::i32, 2, 2, 3,
     0,
    27, MVT::i64,
     OPC_CheckPatternPredicate6,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/43, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXDri),
                      MVT::i64, 2, 1, 3,
     11,
      OPC_CheckComplexPat, /*CP*/43, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSXDri),
                      MVT::i64, 2, 2, 3,
     0,
    0,
   0,
  41|128,1,
   OPC_RecordChild1,
   OPC_Scope, 63,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 22, MVT::i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUWHr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSHr),
                      MVT::i32, 1, 1,
     0,
    22, MVT::i64,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUXHr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUDHr),
                      MVT::i64, 1, 1,
     0,
    9, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv1f16),
                     MVT::i16, 1, 1,
    0,
   50,
    OPC_CheckChild1Type, MVT::f32,
    OPC_SwitchType , 21, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUWSr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 1,
     0,
    21, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUXSr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUDSr),
                      MVT::i64, 1, 1,
     0,
    0,
   50,
    OPC_CheckChild1Type, MVT::f64,
    OPC_SwitchType , 21, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUWDr),
                      MVT::i32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSDr),
                      MVT::i32, 1, 1,
     0,
    21, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUUXDr),
                      MVT::i64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                      MVT::i64, 1, 1,
     0,
    0,
   0,
  71,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
   OPC_RecordChild0,
   OPC_SwitchType , 29, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 2, 3, 4,
   29, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                    MVT::i64, 1, 1,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 2, 3, 4,
   0,
  66,
   OPC_RecordChild1,
   OPC_SwitchType , 10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv4f16),
                    MVT::v4i16, 1, 1,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv8f16),
                    MVT::v8i16, 1, 1,
   11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv2f32),
                    MVT::v2i32, 1, 1,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv4f32),
                    MVT::v4i32, 1, 1,
   11, MVT::v2i64,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv2f64),
                    MVT::v2i64, 1, 1,
   0,
  0,
 84|128,6, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_Scope, 46|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 59, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 26, MVT::i32,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 1, 2,
      0,
     26, MVT::i64,
      OPC_CheckPatternPredicate, 10,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    57, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 25, MVT::i32,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 1, 2,
      0,
     25, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    57, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 25, MVT::i32,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 1, 2,
      0,
     25, MVT::i64,
      OPC_CheckPatternPredicate6,
      OPC_Scope, 10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 0, 2,
      10,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FTRUNC),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   89, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 41, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWSr),
                       MVT::i32, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                       MVT::i32, 1, 0,
      0,
     18, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXSr),
                       MVT::i64, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                       MVT::i64, 1, 0,
      0,
     0,
    41, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::i32,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWDr),
                       MVT::i32, 1, 0,
      8,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                       MVT::i32, 1, 0,
      0,
     16, MVT::i64,
      OPC_Scope, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXDr),
                       MVT::i64, 1, 0,
      6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   0,
  28|128,1,
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 20, MVT::i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                      MVT::i32, 1, 0,
     0,
    20, MVT::i64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                      MVT::i64, 1, 0,
     0,
    8, MVT::i16,
     OPC_CheckPatternPredicate, 48,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1f16),
                     MVT::i16, 1, 0,
    0,
   46,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   46,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 19, MVT::i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                      MVT::i32, 1, 0,
     0,
    19, MVT::i64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   0,
  69,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
   OPC_RecordChild0,
   OPC_SwitchType , 28, 4|128,1,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 1, 2, 3,
   28, 22|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
   0,
  61,
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f16),
                    MVT::v4i16, 1, 0,
   9, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv8f16),
                    MVT::v8i16, 1, 0,
   10, MVT::v2i32,
    OPC_CheckChild0Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f32),
                    MVT::v2i32, 1, 0,
   10, MVT::v4i32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f32),
                    MVT::v4i32, 1, 0,
   10, MVT::v2i64,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f64),
                    MVT::v2i64, 1, 0,
   0,
  0,
 63|128,11, TARGET_VAL(ISD::FP_TO_SINT_SAT),
  OPC_Scope, 64|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21|128,3, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 14|128,1, MVT::f16,
     OPC_Scope, 37,
      OPC_MoveSibling1,
      OPC_Scope, 16,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 0, 2,
      16,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 0, 2,
      0,
     31,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 0, 2,
      12, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 0, 2,
      0,
     37,
      OPC_MoveSibling1,
      OPC_Scope, 16,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 1, 2,
      16,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     31,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWHri),
                       MVT::i32, 2, 1, 2,
      12, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    126, MVT::f32,
     OPC_Scope, 33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 0, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 0, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 0, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 0, 2,
      0,
     33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 1, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWSri),
                       MVT::i32, 2, 1, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    126, MVT::f64,
     OPC_Scope, 33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 0, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 0, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 0, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 0, 2,
      0,
     33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 1, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSWDri),
                       MVT::i32, 2, 1, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FTRUNC),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   0,
  121|128,2,
   OPC_RecordChild0,
   OPC_Scope, 89,
    OPC_CheckChild0Type, MVT::f16,
    OPC_Scope, 29,
     OPC_MoveChild1,
     OPC_Scope, 12,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                      MVT::i32, 1, 0,
     12,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                      MVT::i64, 1, 0,
     0,
    21,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::i32, 1, 0,
     0,
    21,
     OPC_CheckTypeI64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::i64, 1, 0,
     0,
    10,
     OPC_CheckType, MVT::i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1f16),
                     MVT::i16, 1, 0,
    0,
   68,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 25,
     OPC_MoveChild1,
     OPC_Scope, 10,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                      MVT::i32, 1, 0,
     10,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                      MVT::i64, 1, 0,
     0,
    17,
     OPC_CheckTypeI32,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                      MVT::i32, 1, 0,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 0,
     0,
    19,
     OPC_CheckTypeI64,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   68,
    OPC_CheckChild0Type, MVT::f64,
    OPC_Scope, 25,
     OPC_MoveChild1,
     OPC_Scope, 10,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                      MVT::i32, 1, 0,
     10,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                      MVT::i64, 1, 0,
     0,
    19,
     OPC_CheckTypeI32,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::i32, 1, 0,
     0,
    17,
     OPC_CheckTypeI64,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                      MVT::i64, 1, 0,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   30,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_Scope, 14,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f16),
                     MVT::v4i16, 1, 0,
    10,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f16),
                     MVT::v4i16, 1, 0,
    0,
   30,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 14,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv8f16),
                     MVT::v8i16, 1, 0,
    10,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv8f16),
                     MVT::v8i16, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 2|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f32),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f32),
                     MVT::v2i32, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f32),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv4f32),
                     MVT::v4i32, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f64),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv2f64),
                     MVT::v2i64, 1, 0,
    0,
   0,
  0,
 63|128,11, TARGET_VAL(ISD::FP_TO_UINT_SAT),
  OPC_Scope, 64|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21|128,3, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 14|128,1, MVT::f16,
     OPC_Scope, 37,
      OPC_MoveSibling1,
      OPC_Scope, 16,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 0, 2,
      16,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 0, 2,
      0,
     31,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 0, 2,
      12, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 0, 2,
      0,
     37,
      OPC_MoveSibling1,
      OPC_Scope, 16,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 1, 2,
      16,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     31,
      OPC_MoveParent,
      OPC_SwitchType , 12, MVT::i32,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/38, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWHri),
                       MVT::i32, 2, 1, 2,
      12, MVT::i64,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat, /*CP*/39, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXHri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    126, MVT::f32,
     OPC_Scope, 33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 0, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 0, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 0, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 0, 2,
      0,
     33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 1, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/40, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWSri),
                       MVT::i32, 2, 1, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/41, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXSri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    126, MVT::f64,
     OPC_Scope, 33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 0, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 0, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 0, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 0, 2,
      0,
     33,
      OPC_MoveSibling1,
      OPC_Scope, 14,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 1, 2,
      14,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     27,
      OPC_MoveParent,
      OPC_SwitchType , 10, MVT::i32,
       OPC_CheckComplexPat, /*CP*/42, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSWDri),
                       MVT::i32, 2, 1, 2,
      10, MVT::i64,
       OPC_CheckComplexPat, /*CP*/43, /*#*/0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSXDri),
                       MVT::i64, 2, 1, 2,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FTRUNC),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   37|128,1, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 56, MVT::f16,
     OPC_Scope, 29,
      OPC_MoveSibling1,
      OPC_Scope, 12,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWHr),
                       MVT::i32, 1, 0,
      12,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_CheckPatternPredicate, 10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXHr),
                       MVT::i64, 1, 0,
      0,
     23,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSHr),
                       MVT::i32, 1, 0,
      8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDHr),
                       MVT::i64, 1, 0,
      0,
     0,
    50, MVT::f32,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWSr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXSr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                       MVT::i64, 1, 0,
      6, MVT::i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                       MVT::i32, 1, 0,
      0,
     0,
    50, MVT::f64,
     OPC_Scope, 25,
      OPC_MoveSibling1,
      OPC_Scope, 10,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUWDr),
                       MVT::i32, 1, 0,
      10,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUUXDr),
                       MVT::i64, 1, 0,
      0,
     21,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::i32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                       MVT::i32, 1, 0,
      6, MVT::i64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                       MVT::i64, 1, 0,
      0,
     0,
    0,
   0,
  121|128,2,
   OPC_RecordChild0,
   OPC_Scope, 89,
    OPC_CheckChild0Type, MVT::f16,
    OPC_Scope, 29,
     OPC_MoveChild1,
     OPC_Scope, 12,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWHr),
                      MVT::i32, 1, 0,
     12,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXHr),
                      MVT::i64, 1, 0,
     0,
    21,
     OPC_CheckTypeI32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWHr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                      MVT::i32, 1, 0,
     0,
    21,
     OPC_CheckTypeI64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXHr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                      MVT::i64, 1, 0,
     0,
    10,
     OPC_CheckType, MVT::i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1f16),
                     MVT::i16, 1, 0,
    0,
   68,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 25,
     OPC_MoveChild1,
     OPC_Scope, 10,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                      MVT::i32, 1, 0,
     10,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                      MVT::i64, 1, 0,
     0,
    17,
     OPC_CheckTypeI32,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWSr),
                      MVT::i32, 1, 0,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 0,
     0,
    19,
     OPC_CheckTypeI64,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXSr),
                      MVT::i64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                      MVT::i64, 1, 0,
     0,
    0,
   68,
    OPC_CheckChild0Type, MVT::f64,
    OPC_Scope, 25,
     OPC_MoveChild1,
     OPC_Scope, 10,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                      MVT::i32, 1, 0,
     10,
      OPC_CheckValueType, MVT::i64,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                      MVT::i64, 1, 0,
     0,
    19,
     OPC_CheckTypeI32,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUWDr),
                      MVT::i32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                      MVT::i32, 1, 0,
     0,
    17,
     OPC_CheckTypeI64,
     OPC_Scope, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUUXDr),
                      MVT::i64, 1, 0,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                      MVT::i64, 1, 0,
     0,
    0,
   30,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_Scope, 14,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f16),
                     MVT::v4i16, 1, 0,
    10,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f16),
                     MVT::v4i16, 1, 0,
    0,
   30,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 14,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv8f16),
                     MVT::v8i16, 1, 0,
    10,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv8f16),
                     MVT::v8i16, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 2|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f32),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f32),
                     MVT::v2i32, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f32),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckType, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv4f32),
                     MVT::v4i32, 1, 0,
    0,
   27,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 12,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f64),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckType, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv2f64),
                     MVT::v2i64, 1, 0,
    0,
   0,
  0,
 76|128,1, TARGET_VAL(ISD::ROTR),
  OPC_Scope, 30,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::i32,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Wr),
                    MVT::i32, 1, 0,
   9, MVT::i64,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32Xr),
                    MVT::i64, 1, 0,
   0,
  41|128,1,
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTRWrri),
                     MVT::i32, 3, 0, 0, 2,
    13,
     OPC_CheckPredicate, 86,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTRXrri),
                     MVT::i64, 3, 0, 0, 2,
    0,
   96,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVXr),
                      MVT::i64, 2, 0, 4,
     0,
    12, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVWr),
                     MVT::i32, 2, 0, 1,
    36, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVWr),
                      MVT::i32, 2, 0, 1,
     19, MVT::i64,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::sub_32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::i64, 3, 2, 1, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVXr),
                      MVT::i64, 2, 0, 4,
     0,
    0,
   31,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVXr),
                     MVT::i64, 2, 0, 1,
    16, MVT::i32,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RORVWr),
                     MVT::i32, 2, 0, 3,
    0,
   0,
  0,
 94, TARGET_VAL(ISD::BSWAP),
  OPC_Scope, 31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_Scope, 11,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Wr),
                    MVT::i32, 1, 0,
   11,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32Xr),
                    MVT::i64, 1, 0,
   0,
  59,
   OPC_RecordChild0,
   OPC_SwitchType , 6, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVWr),
                    MVT::i32, 1, 0,
   6, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVXr),
                    MVT::i64, 1, 0,
   6, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                    MVT::v4i16, 1, 0,
   6, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                    MVT::v8i16, 1, 0,
   6, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                    MVT::v2i32, 1, 0,
   6, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                    MVT::v4i32, 1, 0,
   6, MVT::v2i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                    MVT::v2i64, 1, 0,
   0,
  0,
 121|128,2, TARGET_VAL(ISD::VECREDUCE_ADD),
  OPC_Scope, 27|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 68,
     OPC_CheckChild0Integer, 110|128,5,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                      MVT::i16, 1, 0,
     11, MVT::v8i16,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                      MVT::i16, 1, 0,
     10, MVT::v4i32,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                      MVT::i32, 1, 0,
     10, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                      MVT::i32, 1, 0,
     10, MVT::v2i64,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv4i32v),
                      MVT::i64, 1, 0,
     0,
    68,
     OPC_CheckChild0Integer, 45|128,5,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                      MVT::i16, 1, 0,
     11, MVT::v8i16,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv16i8v),
                      MVT::i16, 1, 0,
     10, MVT::v4i32,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv8i16v),
                      MVT::i32, 1, 0,
     10, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                      MVT::i32, 1, 0,
     10, MVT::v2i64,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv4i32v),
                      MVT::i64, 1, 0,
     0,
    0,
   65, TARGET_VAL(AArch64ISD::UADDLP),
    OPC_RecordChild0,
    OPC_SwitchType , 11, MVT::v4i16,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                     MVT::i16, 1, 0,
    11, MVT::v8i16,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                     MVT::i16, 1, 0,
    10, MVT::v4i32,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                     MVT::i32, 1, 0,
    10, MVT::v2i32,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                     MVT::i32, 1, 0,
    10, MVT::v2i64,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLVv4i32v),
                     MVT::i64, 1, 0,
    0,
   65, TARGET_VAL(AArch64ISD::SADDLP),
    OPC_RecordChild0,
    OPC_SwitchType , 11, MVT::v4i16,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                     MVT::i16, 1, 0,
    11, MVT::v8i16,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv16i8v),
                     MVT::i16, 1, 0,
    10, MVT::v4i32,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv8i16v),
                     MVT::i32, 1, 0,
    10, MVT::v2i32,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                     MVT::i32, 1, 0,
    10, MVT::v2i64,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLVv4i32v),
                     MVT::i64, 1, 0,
    0,
   0,
  89,
   OPC_RecordChild0,
   OPC_SwitchType , 20, MVT::i8,
    OPC_Scope, 8,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i8v),
                     MVT::i8, 1, 0,
    8,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv16i8v),
                     MVT::i8, 1, 0,
    0,
   20, MVT::i16,
    OPC_Scope, 8,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i16v),
                     MVT::i16, 1, 0,
    8,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv8i16v),
                     MVT::i16, 1, 0,
    0,
   30, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDVv4i32v),
                     MVT::i32, 1, 0,
    18,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i32),
                     MVT::i64, 2, 0, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
    0,
   8, MVT::i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64p),
                    MVT::i64, 1, 0,
   0,
  0,
 34, TARGET_VAL(AArch64ISD::COND_SMSTART),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 134,
  OPC_CheckTypeI32,
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_CheckPredicate, 41,
  OPC_CheckTypeI64,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI64, 1,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSRpstatePseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic3,
                  MVT::i64, 4, 1, 4, 2, 3,
 34, TARGET_VAL(AArch64ISD::COND_SMSTOP),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 134,
  OPC_CheckTypeI32,
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_CheckPredicate, 41,
  OPC_CheckTypeI64,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI64, 0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSRpstatePseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic3,
                  MVT::i64, 4, 1, 4, 2, 3,
 60|128,8, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 70|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 62|128,1,
    OPC_CheckChild0Integer, 112|128,5,
    OPC_RecordChild1,
    OPC_SwitchType , 90, MVT::i8,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    90, MVT::i16,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    0,
   62|128,1,
    OPC_CheckChild0Integer, 118|128,5,
    OPC_RecordChild1,
    OPC_SwitchType , 90, MVT::i8,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    90, MVT::i16,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    0,
   62|128,1,
    OPC_CheckChild0Integer, 121|128,5,
    OPC_RecordChild1,
    OPC_SwitchType , 90, MVT::i8,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv16i8v),
                      MVT::i8, 1, 0,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    90, MVT::i16,
     OPC_Scope, 43,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     43,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i16v),
                      MVT::i16, 1, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 6, 7,
     0,
    0,
   0,
  27,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_CheckTypeI64,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, AArch64::WZR,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ORRWrs),
                   MVT::i32, 3, 2, 0, 3,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::i64, 3, 1, 4, 5,
  111|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv16i8_v8i16),
                     MVT::v8i16, 2, 2, 3,
    12, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    12, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    0,
   49, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv16i8_v8i16),
                     MVT::v8i16, 2, 2, 3,
    12, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    12, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    0,
   0|128,1, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
    OPC_RecordChild0,
    OPC_RecordChild0,
    OPC_Scope, 30,
     OPC_CheckChild0Type, 35|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 42|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat1, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_B),
                     42|128,1, 3, 2, 0, 2,
    30,
     OPC_CheckChild0Type, 34|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat1, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_H),
                     48|128,1, 3, 2, 0, 2,
    30,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat1, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_S),
                     53|128,1, 3, 2, 0, 2,
    30,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat1, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNOT_ZPmZ_D),
                     58|128,1, 3, 2, 0, 2,
    0,
   0,
  43,
   OPC_RecordChild0,
   OPC_SwitchType , 12, MVT::v8i16,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv16i8_shift),
                    MVT::v8i16, 2, 1, 2,
   11, MVT::v4i32,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i16_shift),
                    MVT::v4i32, 2, 1, 2,
   11, MVT::v2i64,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i32_shift),
                    MVT::v2i64, 2, 1, 2,
   0,
  79,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 35, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDLv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   35, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv8i8_v8i16),
                     MVT::v8i16, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv4i16_v4i32),
                     MVT::v4i32, 2, 0, 1,
    8, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDLv2i32_v2i64),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  104,
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i8_shift),
                    MVT::v8i16, 2, 0, 1,
   9, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i16_shift),
                    MVT::v4i32, 2, 0, 1,
   9, MVT::v2i64,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv2i32_shift),
                    MVT::v2i64, 2, 0, 1,
   14, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_B),
                    42|128,1, 3, 0, 1, 2,
   14, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_H),
                    48|128,1, 3, 0, 1, 2,
   14, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_S),
                    53|128,1, 3, 0, 1, 2,
   14, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 21, TARGET_VAL(ISD::CALLSEQ_START),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                  MVT::i64, 2, 1, 2,
 22, TARGET_VAL(ISD::CALLSEQ_END),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, 2, 1, 2,
 29, TARGET_VAL(AArch64ISD::AUTH_CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveSibling3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild4,
  OPC_CheckPatternPredicate, 77,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic4,
                  MVT::i64, 4, 1, 2, 3, 4,
 29, TARGET_VAL(AArch64ISD::CALL_RVMARKER),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
  OPC_CheckTypeI64,
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_CheckPatternPredicate, 110,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR_RVMARKER), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic3,
                  MVT::i64, 3, 1, 2, 3,
 97, TARGET_VAL(AArch64ISD::FCCMP),
  OPC_RecordChild0,
  OPC_Scope, 31,
   OPC_CheckChild0Type, MVT::f16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitCopyToReg4, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCCMPHrr),
                   MVT::i32, 4, 0, 1, 5, 6,
  30,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate6,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitCopyToReg4, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCCMPSrr),
                   MVT::i32, 4, 0, 1, 5, 6,
  30,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate6,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitCopyToReg4, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::FCCMPDrr),
                   MVT::i32, 4, 0, 1, 5, 6,
  0,
 106, TARGET_VAL(AArch64ISD::TC_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 41,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 16, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   16, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   0,
  58,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 117,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   11,
    OPC_CheckPatternPredicate, 118,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNrix16x17), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   11,
    OPC_CheckPatternPredicate, 137,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNrix17), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   11,
    OPC_CheckPatternPredicate, 138,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNrinotx16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 3,
   0,
  0,
 17, TARGET_VAL(AArch64ISD::RESTORE_ZT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_CheckPatternPredicate, 108,
  OPC_CheckComplexPat, /*CP*/34, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LDR_TX_PSEUDO),
                  2, 3, 2,
 17, TARGET_VAL(AArch64ISD::SAVE_ZT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_CheckPatternPredicate, 108,
  OPC_CheckComplexPat, /*CP*/34, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STR_TX_PSEUDO),
                  2, 3, 2,
 111, TARGET_VAL(AArch64ISD::LS64_EXTRACT),
  OPC_RecordChild0,
  OPC_CheckChild0Type, 124|128,1,
  OPC_CheckTypeI64,
  OPC_Scope, 12,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 1,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 2,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 3,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_3,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 4,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_4,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 5,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_5,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 6,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_6,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild1Integer, 7,
   OPC_CheckChild1TypeI32,
   OPC_EmitIntegerI32, AArch64::x8sub_7,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 1,
  0,
 38, TARGET_VAL(ISD::FSHR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckTypeI64,
  OPC_Scope, 13,
   OPC_CheckPredicate, 41,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTRWrri),
                   MVT::i32, 3, 0, 1, 3,
  13,
   OPC_CheckPredicate, 86,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTRXrri),
                   MVT::i64, 3, 0, 1, 3,
  0,
 84, TARGET_VAL(AArch64ISD::TBZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 24,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 48,
   OPC_CheckTypeI64,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBZW),
                   3, 1, 4, 3,
  54,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 17,
    OPC_CheckPredicate, 150,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBZX),
                    3, 1, 4, 3,
   26,
    OPC_CheckPredicate, 48,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBZW),
                    3, 5, 6, 3,
   0,
  0,
 84, TARGET_VAL(AArch64ISD::TBNZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 24,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 48,
   OPC_CheckTypeI64,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBNZW),
                   3, 1, 4, 3,
  54,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 17,
    OPC_CheckPredicate, 150,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBNZX),
                    3, 1, 4, 3,
   26,
    OPC_CheckPredicate, 48,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::TBNZW),
                    3, 5, 6, 3,
   0,
  0,
 102, TARGET_VAL(AArch64ISD::STRICT_FCMPE),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 33,
   OPC_CheckChild1Type, MVT::f16,
   OPC_Scope, 16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPEHri),
                    MVT::i32, 1, 1,
   11,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPEHrr),
                    MVT::i32, 2, 1, 2,
   0,
  31,
   OPC_CheckChild1Type, MVT::f32,
   OPC_Scope, 15,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPESri),
                    MVT::i32, 1, 1,
   10,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPESrr),
                    MVT::i32, 2, 1, 2,
   0,
  31,
   OPC_CheckChild1Type, MVT::f64,
   OPC_Scope, 15,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPEDri),
                    MVT::i32, 1, 1,
   10,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPEDrr),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 102, TARGET_VAL(AArch64ISD::STRICT_FCMP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 33,
   OPC_CheckChild1Type, MVT::f16,
   OPC_Scope, 16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPHri),
                    MVT::i32, 1, 1,
   11,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPHrr),
                    MVT::i32, 2, 1, 2,
   0,
  31,
   OPC_CheckChild1Type, MVT::f32,
   OPC_Scope, 15,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPSri),
                    MVT::i32, 1, 1,
   10,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPSrr),
                    MVT::i32, 2, 1, 2,
   0,
  31,
   OPC_CheckChild1Type, MVT::f64,
   OPC_Scope, 15,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPDri),
                    MVT::i32, 1, 1,
   10,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCMPDrr),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 95, TARGET_VAL(AArch64ISD::FCMP),
  OPC_RecordChild0,
  OPC_Scope, 31,
   OPC_CheckChild0Type, MVT::f16,
   OPC_Scope, 15,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPHri),
                    MVT::i32, 1, 0,
   10,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPHrr),
                    MVT::i32, 2, 0, 1,
   0,
  29,
   OPC_CheckChild0Type, MVT::f32,
   OPC_Scope, 14,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPSri),
                    MVT::i32, 1, 0,
   9,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPSrr),
                    MVT::i32, 2, 0, 1,
   0,
  29,
   OPC_CheckChild0Type, MVT::f64,
   OPC_Scope, 14,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPDri),
                    MVT::i32, 1, 0,
   9,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMPDrr),
                    MVT::i32, 2, 0, 1,
   0,
  0,
 47|128,5, TARGET_VAL(AArch64ISD::VSHL),
  OPC_Scope, 19,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 65,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLd),
                   MVT::i64, 2, 0, 1,
  90|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 74, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 22, MVT::v8i16,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI32,
     OPC_Scope, 9,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv16i8),
                      MVT::v8i16, 1, 1,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i8),
                      MVT::v8i16, 1, 0,
     0,
    21, MVT::v4i32,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_Scope, 8,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i16),
                      MVT::v4i32, 1, 1,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i16),
                      MVT::v4i32, 1, 0,
     0,
    21, MVT::v2i64,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_Scope, 8,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i32),
                      MVT::v2i64, 1, 1,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv2i32),
                      MVT::v2i64, 1, 0,
     0,
    0,
   65|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::v8i16,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv16i8),
                      MVT::v8i16, 1, 1,
     11, MVT::v4i32,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i16),
                      MVT::v4i32, 1, 1,
     11, MVT::v2i64,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i32),
                      MVT::v2i64, 1, 1,
     0,
    57,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_Scope, 16,
      OPC_CheckPredicate, 59,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv16i8_shift),
                      MVT::v8i16, 2, 2, 1,
     15,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i16_shift),
                      MVT::v4i32, 2, 2, 1,
     15,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i32_shift),
                      MVT::v2i64, 2, 2, 1,
     0,
    36,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v8i16,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i8),
                      MVT::v8i16, 1, 0,
     9, MVT::v4i32,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i16),
                      MVT::v4i32, 1, 0,
     9, MVT::v2i64,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv2i32),
                      MVT::v2i64, 1, 0,
     0,
    50,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 59,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i8_shift),
                      MVT::v8i16, 2, 0, 1,
     13,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i16_shift),
                      MVT::v4i32, 2, 0, 1,
     13,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv2i32_shift),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   65|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::v8i16,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv16i8),
                      MVT::v8i16, 1, 1,
     11, MVT::v4i32,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i16),
                      MVT::v4i32, 1, 1,
     11, MVT::v2i64,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i32),
                      MVT::v2i64, 1, 1,
     0,
    57,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_Scope, 16,
      OPC_CheckPredicate, 59,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat, /*CP*/11, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv16i8_shift),
                      MVT::v8i16, 2, 2, 1,
     15,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv8i16_shift),
                      MVT::v4i32, 2, 2, 1,
     15,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv4i32_shift),
                      MVT::v2i64, 2, 2, 1,
     0,
    36,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::v8i16,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i8),
                      MVT::v8i16, 1, 0,
     9, MVT::v4i32,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i16),
                      MVT::v4i32, 1, 0,
     9, MVT::v2i64,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv2i32),
                      MVT::v2i64, 1, 0,
     0,
    50,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 59,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                      MVT::v8i16, 2, 0, 1,
     13,
      OPC_CheckPredicate, 60,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                      MVT::v4i32, 2, 0, 1,
     13,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                      MVT::v2i64, 2, 0, 1,
     0,
    0,
   0,
  59|128,1,
   OPC_RecordChild0,
   OPC_Scope, 68,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 7, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv16i8),
                     MVT::v16i8, 2, 0, 0,
    7, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv8i16),
                     MVT::v8i16, 2, 0, 0,
    7, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::v4i32, 2, 0, 0,
    7, MVT::v2i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv2i64),
                     MVT::v2i64, 2, 0, 0,
    7, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv8i8),
                     MVT::v8i8, 2, 0, 0,
    7, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv4i16),
                     MVT::v4i16, 2, 0, 0,
    7, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDv2i32),
                     MVT::v2i32, 2, 0, 0,
    0,
   114,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 65,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLd),
                     MVT::v1i64, 2, 0, 1,
    25,
     OPC_CheckPredicate, 59,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv8i8_shift),
                      MVT::v8i8, 2, 0, 1,
     8, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv16i8_shift),
                      MVT::v16i8, 2, 0, 1,
     0,
    25,
     OPC_CheckPredicate, 60,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv4i16_shift),
                      MVT::v4i16, 2, 0, 1,
     8, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv8i16_shift),
                      MVT::v8i16, 2, 0, 1,
     0,
    25,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv2i32_shift),
                      MVT::v2i32, 2, 0, 1,
     8, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv4i32_shift),
                      MVT::v4i32, 2, 0, 1,
     0,
    13,
     OPC_CheckPredicate, 65,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLv2i64_shift),
                     MVT::v2i64, 2, 0, 1,
    0,
   0,
  0,
 12|128,1, TARGET_VAL(AArch64ISD::SQSHLU_I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 12,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUs),
                   MVT::i32, 2, 0, 1,
  25,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLUv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 12|128,1, TARGET_VAL(AArch64ISD::SQSHL_I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 12,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLs),
                   MVT::i32, 2, 0, 1,
  25,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 127, TARGET_VAL(AArch64ISD::SRSHR_I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 25,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRSHRv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 97|128,1, TARGET_VAL(AArch64ISD::VASHR),
  OPC_RecordChild0,
  OPC_Scope, 18,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 25,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRd),
                   MVT::i64, 2, 0, 1,
  21,
   OPC_CheckChild1Integer, 7,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 6, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i8rz),
                    MVT::v8i8, 1, 0,
   6, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv16i8rz),
                    MVT::v16i8, 1, 0,
   0,
  21,
   OPC_CheckChild1Integer, 15,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 6, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i16rz),
                    MVT::v4i16, 1, 0,
   6, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i16rz),
                    MVT::v8i16, 1, 0,
   0,
  21,
   OPC_CheckChild1Integer, 31,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 6, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i32rz),
                    MVT::v2i32, 1, 0,
   6, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i32rz),
                    MVT::v4i32, 1, 0,
   0,
  21,
   OPC_CheckChild1Integer, 63,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 6, MVT::v2i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i64rz),
                    MVT::v2i64, 1, 0,
   6, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv1i64rz),
                    MVT::v1i64, 1, 0,
   0,
  114,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRd),
                    MVT::v1i64, 2, 0, 1,
   25,
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    8, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv16i8_shift),
                     MVT::v16i8, 2, 0, 1,
    0,
   25,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    8, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv8i16_shift),
                     MVT::v8i16, 2, 0, 1,
    0,
   25,
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    8, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv4i32_shift),
                     MVT::v4i32, 2, 0, 1,
    0,
   13,
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SSHRv2i64_shift),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 12|128,1, TARGET_VAL(AArch64ISD::UQSHL_I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 12,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLs),
                   MVT::i32, 2, 0, 1,
  25,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 127, TARGET_VAL(AArch64ISD::URSHR_I),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 25,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHRv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 127, TARGET_VAL(AArch64ISD::VLSHR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 25,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRd),
                    MVT::i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRd),
                    MVT::v1i64, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv8i8_shift),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv16i8_shift),
                    MVT::v16i8, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv4i16_shift),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv8i16_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  25,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv2i32_shift),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  13,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHRv2i64_shift),
                   MVT::v2i64, 2, 0, 1,
  0,
 19, TARGET_VAL(ISD::UBSANTRAP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 159,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitNodeXForm, 27, 1,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BRK),
                  1, 2,
 1|128,1, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 14,
    OPC_CheckPredicate, 135,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXWri),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 135,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXXri),
                    MVT::i64, 2, 0, 2,
   0,
  10,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXWrr),
                   MVT::i32, 2, 0, 1,
  10,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXXrr),
                   MVT::i64, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv8i8),
                   MVT::v8i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv16i8),
                   MVT::v16i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv4i16),
                   MVT::v4i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv8i16),
                   MVT::v8i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv2i32),
                   MVT::v2i32, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 1|128,1, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 14,
    OPC_CheckPredicate, 135,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINWri),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 135,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINXri),
                    MVT::i64, 2, 0, 2,
   0,
  10,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINWrr),
                   MVT::i32, 2, 0, 1,
  10,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINXrr),
                   MVT::i64, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv8i8),
                   MVT::v8i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv16i8),
                   MVT::v16i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv4i16),
                   MVT::v4i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv8i16),
                   MVT::v8i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv2i32),
                   MVT::v2i32, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 1|128,1, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 14,
    OPC_CheckPredicate, 136,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXWri),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 136,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXXri),
                    MVT::i64, 2, 0, 2,
   0,
  10,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXWrr),
                   MVT::i32, 2, 0, 1,
  10,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXXrr),
                   MVT::i64, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv8i8),
                   MVT::v8i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv16i8),
                   MVT::v16i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv4i16),
                   MVT::v4i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv8i16),
                   MVT::v8i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv2i32),
                   MVT::v2i32, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 1|128,1, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 14,
    OPC_CheckPredicate, 136,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINWri),
                    MVT::i32, 2, 0, 2,
   14,
    OPC_CheckPredicate, 136,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINXri),
                    MVT::i64, 2, 0, 2,
   0,
  10,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINWrr),
                   MVT::i32, 2, 0, 1,
  10,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINXrr),
                   MVT::i64, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv8i8),
                   MVT::v8i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv16i8),
                   MVT::v16i8, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv4i16),
                   MVT::v4i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv8i16),
                   MVT::v8i16, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv2i32),
                   MVT::v2i32, 2, 0, 1,
  10,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 20, TARGET_VAL(AArch64ISD::RANGE_PREFETCH),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 160,
  OPC_MoveParent,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::RPRFM),
                  3, 1, 3, 2,
 58|128,1, TARGET_VAL(AArch64ISD::SST1_IMM_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 79,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 53|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 18,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling5,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_S_IMM),
                    4, 1, 2, 3, 5,
   21,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling5,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_S_IMM),
                    4, 1, 2, 3, 6,
   21,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling5,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 10, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_IMM),
                    4, 1, 2, 3, 6,
   0,
  101,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 18,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling5,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_D_IMM),
                    4, 1, 2, 3, 5,
   21,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling5,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 9, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_IMM),
                    4, 1, 2, 3, 6,
   21,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling5,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 10, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_IMM),
                    4, 1, 2, 3, 6,
   21,
    OPC_CheckPredicate, 97,
    OPC_MoveSibling5,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 11, 5,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_IMM),
                    4, 1, 2, 3, 6,
   0,
  0,
 19, TARGET_VAL(AArch64ISD::RDSVL),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 161,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckTypeI64,
  OPC_CheckPatternPredicate, 79,
  OPC_EmitConvertToTarget0,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RDSVLI_XI),
                  MVT::i64, 1, 1,
 31, TARGET_VAL(AArch64ISD::SME_ZA_STR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 114,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 79,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitRegister, 119|128,1,AArch64::ZA,
  OPC_EmitConvertToTarget3,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STR_ZA),
                  5, 4, 1, 3, 2, 5,
 22, TARGET_VAL(AArch64ISD::SMSTART),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 134,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI64, 1,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSRpstatesvcrImm1), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 2, 1, 2,
 22, TARGET_VAL(AArch64ISD::SMSTOP),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 134,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI64, 0,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSRpstatesvcrImm1), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 2, 1, 2,
 24, TARGET_VAL(AArch64ISD::SME_ZA_LDR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 114,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 79,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::LDR_ZA_PSEUDO),
                  3, 1, 3, 2,
 16, TARGET_VAL(AArch64ISD::MRS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget1,
  OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::MRS),
                  MVT::i64, MVT::i32, 1, 2,
 37, TARGET_VAL(AArch64ISD::CSINV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_SwitchType , 11, MVT::i32,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVWr),
                   MVT::i32, 3, 0, 1, 4,
  11, MVT::i64,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINVXr),
                   MVT::i64, 3, 0, 1, 4,
  0,
 37, TARGET_VAL(AArch64ISD::CSNEG),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_SwitchType , 11, MVT::i32,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGWr),
                   MVT::i32, 3, 0, 1, 4,
  11, MVT::i64,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSNEGXr),
                   MVT::i64, 3, 0, 1, 4,
  0,
 37, TARGET_VAL(AArch64ISD::CSINC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_SwitchType , 11, MVT::i32,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCWr),
                   MVT::i32, 3, 0, 1, 4,
  11, MVT::i64,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::CSINCXr),
                   MVT::i64, 3, 0, 1, 4,
  0,
 59, TARGET_VAL(AArch64ISD::ADR),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADR),
                   MVT::i64, 1, 0,
  0,
 48, TARGET_VAL(AArch64ISD::ADRP),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADRP),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADRP),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADRP),
                   MVT::i64, 1, 0,
  8, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADRP),
                   MVT::i64, 1, 0,
  0,
 30, TARGET_VAL(AArch64ISD::TLSDESC_CALLSEQ),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  9, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  0,
 30, TARGET_VAL(AArch64ISD::TLSDESC_AUTH_CALLSEQ),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_AUTH_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  9, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_AUTH_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  0,
 41, TARGET_VAL(AArch64ISD::BRCOND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_Scope, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo0, TARGET_VAL(AArch64::Bcc), 0|OPFL_Chain|OPFL_GlueInput,
                   2, 4, 1,
  13,
   OPC_CheckPatternPredicate, 139,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, AArch64::NZCV,
   OPC_MorphNodeTo0, TARGET_VAL(AArch64::BCcc), 0|OPFL_Chain|OPFL_GlueInput,
                   2, 4, 1,
  0,
 61, TARGET_VAL(AArch64ISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 29,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_CaptureDeactivationSymbol,
               OPC_MorphNodeTo1, TARGET_VAL(AArch64::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1, 1,
   10, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_CaptureDeactivationSymbol,
               OPC_MorphNodeTo1, TARGET_VAL(AArch64::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1, 1,
   0,
  25,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 110,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1, 1,
   10,
    OPC_CheckPatternPredicate, 119,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLRNoIP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1, 1,
   0,
  0,
 13, TARGET_VAL(ISD::LOCAL_RECOVER),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::MCSymbol),
  OPC_MoveParent,
  OPC_CheckTypeI64,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVMCSym),
                  MVT::i64, 1, 0,
 24, TARGET_VAL(AArch64ISD::RESTORE_ZA),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
  OPC_CheckTypeI64,
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 79,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::RestoreZAPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic3,
                  3, 1, 2, 3,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_CLR),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 56|128,2, TARGET_VAL(ISD::ATOMIC_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 2, 1,
   0,
  98|128,1, MVT::i32,
   OPC_Scope, 74,
    OPC_CheckPredicate, 34,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   74,
    OPC_CheckPredicate, 14,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   73,
    OPC_CheckPredicate0,
    OPC_Scope, 13,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    13,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 1,
    0,
   0,
  0,
 9|128,3, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_SwitchType , 93, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 14,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   14,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 3, 2, 3, 1,
   13,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMP_SWAP_64), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, MVT::i32, 3, 1, 2, 3,
   0,
  31|128,2, MVT::i32,
   OPC_Scope, 79,
    OPC_CheckPredicate, 34,
    OPC_Scope, 14,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    0,
   79,
    OPC_CheckPredicate, 14,
    OPC_Scope, 14,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    0,
   92,
    OPC_CheckPredicate0,
    OPC_Scope, 14,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    14,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 3, 1,
    13,
     OPC_CheckPatternPredicate, 103,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMP_SWAP_8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, MVT::i32, 3, 1, 2, 3,
    0,
   15,
    OPC_CheckPredicate, 14,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMP_SWAP_16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   15,
    OPC_CheckPredicate, 34,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMP_SWAP_32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, MVT::i32, 3, 1, 2, 3,
   0,
  0,
 51, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_SwitchType , 37, MVT::i64,
   OPC_Scope, 26,
    OPC_CheckPredicate, 79,
    OPC_CheckPatternPredicate, 140,
    OPC_EmitIntegerI64, 0,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                    MVT::i32, 1, 3,
    OPC_EmitIntegerI32, AArch64::sub_32,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::i64, 3, 1, 4, 5,
   7,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVi64imm),
                    MVT::i64, 1, 1,
   0,
  7, MVT::i32,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVi32imm),
                   MVT::i32, 1, 1,
  0,
 108|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 119, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 22,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SUBXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   0,
  105|128,2, MVT::i32,
   OPC_Scope, 119,
    OPC_CheckPredicate, 34,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   119,
    OPC_CheckPredicate, 14,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   118,
    OPC_CheckPredicate0,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SUBWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   0,
  0,
 108|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 119, MVT::i64,
   OPC_CheckPredicate, 42,
   OPC_Scope, 22,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   22,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORNXrr),
                    MVT::i64, 2, 3, 2,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i64, 2, 4, 1,
   0,
  105|128,2, MVT::i32,
   OPC_Scope, 119,
    OPC_CheckPredicate, 34,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   119,
    OPC_CheckPredicate, 14,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   118,
    OPC_CheckPredicate0,
    OPC_Scope, 22,
     OPC_CheckPredicate, 26,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 27,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 28,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    22,
     OPC_CheckPredicate, 21,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, AArch64::WZR,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORNWrr),
                     MVT::i32, 2, 3, 2,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 1,
    0,
   0,
  0,
 17|128,1, TARGET_VAL(ISD::VECTOR_FIND_LAST_ACTIVE),
  OPC_RecordChild0,
  OPC_CheckTypeI64,
  OPC_Scope, 23,
   OPC_CheckChild0Type, 32|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI64, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_D),
                   42|128,1, 2, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_D),
                   MVT::i64, 2, 0, 3,
  38,
   OPC_CheckChild0Type, 35|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_B),
                   42|128,1, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_RPZ_B),
                   MVT::i32, 2, 0, 4,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 5, 6,
  38,
   OPC_CheckChild0Type, 34|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_H),
                   42|128,1, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_RPZ_H),
                   MVT::i32, 2, 0, 4,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 5, 6,
  38,
   OPC_CheckChild0Type, 33|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::INDEX_II_S),
                   42|128,1, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_RPZ_S),
                   MVT::i32, 2, 0, 4,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 5, 6,
  0,
 5, TARGET_VAL(AArch64ISD::ASSERT_ZEXT_BOOL),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_CompleteMatch, 1, 0,

 56|128,68, TARGET_VAL(ISD::BITCAST),
  OPC_Scope, 38|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 7, 125|128,1,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   9|128,2, MVT::i64,
    OPC_Scope, 34,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::i64, 1, 2,
     0,
    34,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::i64, 1, 2,
     0,
    34,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::i64, 1, 2,
     0,
    34,
     OPC_CheckChild0Type, MVT::v4f16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::i64, 1, 2,
     0,
    34,
     OPC_CheckChild0Type, MVT::v4bf16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::i64, 1, 2,
     0,
    35,
     OPC_CheckChild0Type, 2|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::i64, 1, 2,
     0,
    27,
     OPC_CheckChild0Type, 21|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     9,
      OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
     0,
    11,
     OPC_CheckChild0Type, MVT::v1i64,
     OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i64, 2, 0, 1,
    11,
     OPC_CheckChild0Type, MVT::f64,
     OPC_EmitIntegerI32, AArch64::GPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i64, 2, 0, 1,
    0,
   11, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   0,
  114|128,36,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 13|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate, 90,
    OPC_SwitchType , 65, MVT::i32,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate, 50,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     0,
    65, MVT::i64,
     OPC_CheckPredicate, 42,
     OPC_CheckPredicate, 50,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 4, 2, 3, 4, 5,
     14,
      OPC_CheckComplexPat, /*CP*/26, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 4, 2, 3, 4, 5,
     12,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     0,
    0,
   101|128,4, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate2,
    OPC_SwitchType , 112|128,1, MVT::i32,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 6, 7, 8,
      0,
     56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f32, 3, 4, 5, 6,
      0,
     0,
    104|128,2, MVT::i64,
     OPC_Scope, 60,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      0,
     61,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 26,
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      26,
       OPC_CheckComplexPat, /*CP*/30, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 6, 7, 8,
      0,
     56,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      0,
     57,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 24,
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      24,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f64, 3, 4, 5, 6,
      0,
     0,
    0,
   66|128,7, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 95,
     OPC_CheckChild0Integer, 95|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 96|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 97|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 98|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 99|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNSv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 100|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNUv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 101|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 102|128,4,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 104|128,4,
     OPC_RecordChild1,
     OPC_Scope, 30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::f32, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::f64, 1, 0,
      0,
     0,
    95,
     OPC_CheckChild0Integer, 105|128,4,
     OPC_RecordChild1,
     OPC_Scope, 30,
      OPC_CheckChild1Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::f32, 1, 0,
      0,
     28,
      OPC_CheckChild1Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::f64, 1, 0,
      0,
     0,
    0,
   81|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 61,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 0, 1,
     39,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi8),
                      MVT::i8, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::bsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 6, 7,
     0,
    61,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 0, 1,
     39,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPi16),
                      MVT::i16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 2, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 6, 7,
     0,
    40,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 0, 1,
     18,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi32),
                      MVT::f32, 2, 0, 2,
     0,
    40,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 0, 1,
     18,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPi64),
                      MVT::f64, 2, 0, 2,
     0,
    0,
   100|128,2, TARGET_VAL(ISD::FP_TO_SINT),
    OPC_Scope, 3|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::FCEIL),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FFLOOR),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FTRUNC),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FROUND),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     0,
    92,
     OPC_RecordChild0,
     OPC_Scope, 28,
      OPC_CheckChild0Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild0Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild0Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    0,
   61|128,4, TARGET_VAL(ISD::FP_TO_SINT_SAT),
    OPC_Scope, 71|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 110, TARGET_VAL(ISD::FCEIL),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FFLOOR),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FTRUNC),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FROUND),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     0,
    113,
     OPC_RecordChild0,
     OPC_Scope, 37,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                       MVT::f32, 1, 0,
      15,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                       MVT::f64, 1, 0,
      0,
     35,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                       MVT::f64, 1, 0,
      13,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                       MVT::f32, 1, 0,
      0,
     35,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                       MVT::f32, 1, 0,
      13,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                       MVT::f64, 1, 0,
      0,
     0,
    0,
   100|128,2, TARGET_VAL(ISD::FP_TO_UINT),
    OPC_Scope, 3|128,2,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::FCEIL),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FFLOOR),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FTRUNC),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     61, TARGET_VAL(ISD::FROUND),
      OPC_RecordChild0,
      OPC_SwitchType , 27, MVT::f32,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                        MVT::f64, 1, 0,
       9, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                        MVT::f32, 1, 0,
       0,
      27, MVT::f64,
       OPC_MoveParent,
       OPC_SwitchType , 11, MVT::i32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                        MVT::f32, 1, 0,
       9, MVT::i64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     0,
    92,
     OPC_RecordChild0,
     OPC_Scope, 28,
      OPC_CheckChild0Type, MVT::f64,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::f32, 1, 0,
      9, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::f64, 1, 0,
      0,
     30,
      OPC_CheckChild0Type, MVT::f16,
      OPC_SwitchType , 11, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                       MVT::f32, 1, 0,
      11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                       MVT::f64, 1, 0,
      0,
     28,
      OPC_CheckChild0Type, MVT::f32,
      OPC_SwitchType , 11, MVT::i64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::f64, 1, 0,
      9, MVT::i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::f32, 1, 0,
      0,
     0,
    0,
   61|128,4, TARGET_VAL(ISD::FP_TO_UINT_SAT),
    OPC_Scope, 71|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 110, TARGET_VAL(ISD::FCEIL),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTPUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FFLOOR),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTMUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FTRUNC),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     110, TARGET_VAL(ISD::FROUND),
      OPC_RecordChild0,
      OPC_SwitchType , 35, MVT::f16,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSHr),
                        MVT::f32, 1, 0,
       15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDHr),
                        MVT::f64, 1, 0,
       0,
      33, MVT::f32,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUDSr),
                        MVT::f64, 1, 0,
       13,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i32),
                        MVT::f32, 1, 0,
       0,
      33, MVT::f64,
       OPC_MoveSibling1,
       OPC_Scope, 15,
        OPC_CheckValueType, MVT::i32,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUSDr),
                        MVT::f32, 1, 0,
       13,
        OPC_CheckValueType, MVT::i64,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckType, MVT::f64,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTAUv1i64),
                        MVT::f64, 1, 0,
       0,
      0,
     0,
    113,
     OPC_RecordChild0,
     OPC_Scope, 37,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSHr),
                       MVT::f32, 1, 0,
      15,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDHr),
                       MVT::f64, 1, 0,
      0,
     35,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUDSr),
                       MVT::f64, 1, 0,
      13,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                       MVT::f32, 1, 0,
      0,
     35,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveChild1,
      OPC_Scope, 15,
       OPC_CheckValueType, MVT::i32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUSDr),
                       MVT::f32, 1, 0,
      13,
       OPC_CheckValueType, MVT::i64,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                       MVT::f64, 1, 0,
      0,
     0,
    0,
   99, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::f32, 1, 1,
     10, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::f64, 1, 1,
     0,
    32,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::f32, 1, 1,
     12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::f64, 1, 1,
     0,
    30,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::f64, 1, 1,
     10, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::f32, 1, 1,
     0,
    0,
   99, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSDr),
                      MVT::f32, 1, 1,
     10, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                      MVT::f64, 1, 1,
     0,
    32,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUSHr),
                      MVT::f32, 1, 1,
     12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUDHr),
                      MVT::f64, 1, 1,
     0,
    30,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUDSr),
                      MVT::f64, 1, 1,
     10, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::f32, 1, 1,
     0,
    0,
   99, TARGET_VAL(ISD::STRICT_LROUND),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                      MVT::f32, 1, 1,
     12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                      MVT::f64, 1, 1,
     0,
    30,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 12, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                      MVT::f64, 1, 1,
     10, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                      MVT::f32, 1, 1,
     0,
    30,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 12, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                      MVT::f32, 1, 1,
     10, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                      MVT::f64, 1, 1,
     0,
    0,
   92, TARGET_VAL(ISD::LROUND),
    OPC_RecordChild0,
    OPC_Scope, 30,
     OPC_CheckChild0Type, MVT::f16,
     OPC_SwitchType , 11, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                      MVT::f32, 1, 0,
     11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                      MVT::f64, 1, 0,
     0,
    28,
     OPC_CheckChild0Type, MVT::f32,
     OPC_SwitchType , 11, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                      MVT::f64, 1, 0,
     9, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                      MVT::f32, 1, 0,
     0,
    28,
     OPC_CheckChild0Type, MVT::f64,
     OPC_SwitchType , 11, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                      MVT::f32, 1, 0,
     9, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                      MVT::f64, 1, 0,
     0,
    0,
   48, TARGET_VAL(ISD::STRICT_LLROUND),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_Scope, 14,
     OPC_CheckChild1Type, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                     MVT::f64, 1, 1,
    14,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                     MVT::f64, 1, 1,
    12,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                     MVT::f64, 1, 1,
    0,
   44, TARGET_VAL(ISD::LLROUND),
    OPC_RecordChild0,
    OPC_CheckTypeI64,
    OPC_Scope, 13,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                     MVT::f64, 1, 0,
    13,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                     MVT::f64, 1, 0,
    11,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                     MVT::f64, 1, 0,
    0,
   7|128,1, TARGET_VAL(ISD::STRICT_LRINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_Scope, 44,
     OPC_CheckChild1Type, MVT::f16,
     OPC_SwitchType , 18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                      MVT::i16, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::f32, 1, 2,
     18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                      MVT::i16, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::f64, 1, 2,
     0,
    42,
     OPC_CheckChild1Type, MVT::f32,
     OPC_SwitchType , 18, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::f64, 1, 2,
     16, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::f32, 1, 2,
     0,
    42,
     OPC_CheckChild1Type, MVT::f64,
     OPC_SwitchType , 18, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::f32, 1, 2,
     16, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                      MVT::i64, 1, 1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::f64, 1, 2,
     0,
    0,
   0|128,1, TARGET_VAL(ISD::LRINT),
    OPC_RecordChild0,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::f16,
     OPC_SwitchType , 17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                      MVT::i16, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                      MVT::f32, 1, 1,
     17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                      MVT::i16, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                      MVT::f64, 1, 1,
     0,
    40,
     OPC_CheckChild0Type, MVT::f32,
     OPC_SwitchType , 17, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                      MVT::i32, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                      MVT::f64, 1, 1,
     15, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                      MVT::i32, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::f32, 1, 1,
     0,
    40,
     OPC_CheckChild0Type, MVT::f64,
     OPC_SwitchType , 17, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                      MVT::i64, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                      MVT::f32, 1, 1,
     15, MVT::i64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                      MVT::i64, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                      MVT::f64, 1, 1,
     0,
    0,
   66, TARGET_VAL(ISD::STRICT_LLRINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_Scope, 20,
     OPC_CheckChild1Type, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDHr),
                     MVT::f64, 1, 2,
    20,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSDSr),
                     MVT::f64, 1, 2,
    18,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                     MVT::i64, 1, 1,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::f64, 1, 2,
    0,
   62, TARGET_VAL(ISD::LLRINT),
    OPC_RecordChild0,
    OPC_CheckTypeI64,
    OPC_Scope, 19,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                     MVT::f64, 1, 1,
    19,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                     MVT::i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                     MVT::f64, 1, 1,
    17,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::f64, 1, 1,
    0,
   0,
  66|128,3,
   OPC_RecordChild0,
   OPC_SwitchType , 5, MVT::f16,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::bf16,
    OPC_CheckChild0Type, MVT::f16,
    OPC_CompleteMatch, 1, 0,

   19|128,1, MVT::f64,
    OPC_Scope, 19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::f64, 1, 0,
     0,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::f64, 1, 0,
     0,
    20,
     OPC_CheckChild0Type, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::f64, 1, 0,
     0,
    19,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::f64, 1, 0,
     0,
    19,
     OPC_CheckChild0Type, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::f64, 1, 0,
     0,
    19,
     OPC_CheckChild0Type, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::f64, 1, 0,
     0,
    5,
     OPC_CheckChild0Type, MVT::v1i64,
     OPC_CompleteMatch, 1, 0,

    6,
     OPC_CheckChild0Type, 21|128,1,
     OPC_CompleteMatch, 1, 0,

    10,
     OPC_CheckChild0TypeI64,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 0, 1,
    0,
   12|128,2, MVT::f128,
    OPC_Scope, 23,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     12,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 1,
     0,
    35,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    35,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    24,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     12,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 1,
     0,
    36,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    35,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    35,
     OPC_CheckChild0Type, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    35,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 1, 2, 3,
     0,
    0,
   10, MVT::f32,
    OPC_CheckChild0TypeI32,
    OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
   0,
  28,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVWSr),
                   MVT::f32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v8i8, 3, 1, 2, 3,
  55|128,25,
   OPC_RecordChild0,
   OPC_Scope, 126,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v1i64, 1, 0,
     0,
    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                      MVT::v8i8, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4bf16, 1, 0,
     0,
    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      21|128,1, 1, 0,
     0,
    3, 2|128,1,
     OPC_CompleteMatch, 1, 0,

    0,
   113,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v1i64, 1, 0,
     0,
    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v2i32, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v8i8, 1, 0,
     0,
    3, MVT::v4f16,
     OPC_CompleteMatch, 1, 0,

    3, MVT::v4bf16,
     OPC_CompleteMatch, 1, 0,

    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      21|128,1, 1, 0,
     0,
    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      2|128,1, 1, 0,
     0,
    0,
   13|128,1,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::v1i64, 1, 0,
     0,
    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                      MVT::v2i32, 1, 0,
     0,
    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v4bf16, 1, 0,
     0,
    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      21|128,1, 1, 0,
     0,
    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                      2|128,1, 1, 0,
     0,
    0,
   113,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v1i64, 1, 0,
     0,
    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v2i32, 1, 0,
     0,
    3, MVT::v4i16,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v8i8, 1, 0,
     0,
    3, MVT::v4bf16,
     OPC_CompleteMatch, 1, 0,

    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      21|128,1, 1, 0,
     0,
    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      2|128,1, 1, 0,
     0,
    0,
   113,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v1i64, 1, 0,
     0,
    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v2i32, 1, 0,
     0,
    3, MVT::v4i16,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                      MVT::v8i8, 1, 0,
     0,
    3, MVT::v4f16,
     OPC_CompleteMatch, 1, 0,

    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      21|128,1, 1, 0,
     0,
    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      2|128,1, 1, 0,
     0,
    0,
   126,
    OPC_CheckChild0Type, 2|128,1,
    OPC_SwitchType , 17, MVT::v1i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v1i64, 1, 0,
     0,
    3, MVT::v2i32,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                      MVT::v8i8, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                      MVT::v4bf16, 1, 0,
     0,
    18, 21|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      21|128,1, 1, 0,
     0,
    0,
   126,
    OPC_CheckChild0Type, 21|128,1,
    OPC_SwitchType , 3, MVT::v1i64,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v2i32, 1, 0,
     0,
    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::v8i8, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4bf16, 1, 0,
     0,
    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      2|128,1, 1, 0,
     0,
    0,
   3|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 3, MVT::v1i64,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v2i32, 1, 0,
     0,
    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::v8i8, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4bf16, 1, 0,
     0,
    3, 21|128,1,
     OPC_CompleteMatch, 1, 0,

    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      2|128,1, 1, 0,
     0,
    0,
   126,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_SwitchType , 17, MVT::v2i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v2i32, 1, 0,
     0,
    17, MVT::v4i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4i16, 1, 0,
     0,
    17, MVT::v8i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::v8i8, 1, 0,
     0,
    17, MVT::v4f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4f16, 1, 0,
     0,
    17, MVT::v4bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4bf16, 1, 0,
     0,
    3, 21|128,1,
     OPC_CompleteMatch, 1, 0,

    18, 2|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      2|128,1, 1, 0,
     0,
    0,
   8|128,2,
    OPC_CheckChild0Type, MVT::f128,
    OPC_SwitchType , 21, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     12,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v2i64, 3, 0, 0, 1,
     0,
    33, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v4i32, 3, 1, 2, 3,
     0,
    33, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v8i16, 3, 1, 2, 3,
     0,
    33, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v16i8, 3, 1, 2, 3,
     0,
    22, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     13,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      22|128,1, 3, 0, 0, 1,
     0,
    34, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     25,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      4|128,1, 3, 1, 2, 3,
     0,
    33, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v8f16, 3, 1, 2, 3,
     0,
    33, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     24,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::f128, 1, 0,
      OPC_EmitIntegerI32, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v8bf16, 3, 1, 2, 3,
     0,
    0,
   126,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::v2i64, 1, 0,
     0,
    17, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8i16, 1, 0,
     0,
    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      22|128,1, 1, 0,
     0,
    3, 4|128,1,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8f16, 1, 0,
     0,
    17, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8bf16, 1, 0,
     0,
    0,
   113,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v2i64, 1, 0,
     0,
    17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v4i32, 1, 0,
     0,
    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      22|128,1, 1, 0,
     0,
    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      4|128,1, 1, 0,
     0,
    3, MVT::v8f16,
     OPC_CompleteMatch, 1, 0,

    3, MVT::v8bf16,
     OPC_CompleteMatch, 1, 0,

    0,
   13|128,1,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::v2i64, 1, 0,
     0,
    17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                      MVT::v4i32, 1, 0,
     0,
    17, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v8i16, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                      22|128,1, 1, 0,
     0,
    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                      4|128,1, 1, 0,
     0,
    17, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v8f16, 1, 0,
     0,
    17, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v8bf16, 1, 0,
     0,
    0,
   126,
    OPC_CheckChild0Type, 4|128,1,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::v2i64, 1, 0,
     0,
    3, MVT::v4i32,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8i16, 1, 0,
     0,
    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      22|128,1, 1, 0,
     0,
    17, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8f16, 1, 0,
     0,
    17, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v8bf16, 1, 0,
     0,
    0,
   113,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v2i64, 1, 0,
     0,
    17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v4i32, 1, 0,
     0,
    3, MVT::v8i16,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      22|128,1, 1, 0,
     0,
    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      4|128,1, 1, 0,
     0,
    3, MVT::v8bf16,
     OPC_CompleteMatch, 1, 0,

    0,
   113,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_SwitchType , 17, MVT::v2i64,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v2i64, 1, 0,
     0,
    17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      MVT::v4i32, 1, 0,
     0,
    3, MVT::v8i16,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 22|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      22|128,1, 1, 0,
     0,
    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                      4|128,1, 1, 0,
     0,
    3, MVT::v8f16,
     OPC_CompleteMatch, 1, 0,

    0,
   126,
    OPC_CheckChild0Type, 22|128,1,
    OPC_SwitchType , 3, MVT::v2i64,
     OPC_CompleteMatch, 1, 0,

    17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::v4i32, 1, 0,
     0,
    17, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8i16, 1, 0,
     0,
    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::v16i8, 1, 0,
     0,
    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      4|128,1, 1, 0,
     0,
    17, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8f16, 1, 0,
     0,
    17, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8bf16, 1, 0,
     0,
    0,
   126,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_SwitchType , 17, MVT::v4i32,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      MVT::v4i32, 1, 0,
     0,
    17, MVT::v8i16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8i16, 1, 0,
     0,
    17, MVT::v16i8,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                      MVT::v16i8, 1, 0,
     0,
    3, 22|128,1,
     OPC_CompleteMatch, 1, 0,

    18, 4|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     9,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                      4|128,1, 1, 0,
     0,
    17, MVT::v8f16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8f16, 1, 0,
     0,
    17, MVT::v8bf16,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 12,
      OPC_CompleteMatch, 1, 0,

     8,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                      MVT::v8bf16, 1, 0,
     0,
    0,
   77,
    OPC_CheckChild0Type, 48|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 66|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 72|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    0,
   69,
    OPC_CheckChild0Type, 53|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 48|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 66|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 77|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 72|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   69,
    OPC_CheckChild0Type, 58|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 48|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 66|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 81|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 72|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   77,
    OPC_CheckChild0Type, 66|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 48|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 72|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    0,
   69,
    OPC_CheckChild0Type, 77|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 48|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 53|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 66|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 72|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   69,
    OPC_CheckChild0Type, 81|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 48|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 58|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 66|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 72|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   77,
    OPC_CheckChild0Type, 72|128,1,
    OPC_SwitchType , 5, 42|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 48|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    13, 66|128,1,
     OPC_Scope, 5,
      OPC_CheckPatternPredicate, 23,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   61,
    OPC_CheckChild0Type, 42|128,1,
    OPC_SwitchType , 5, 48|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 53|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 58|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 66|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 77|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 81|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    5, 72|128,1,
     OPC_CheckPatternPredicate, 23,
     OPC_CompleteMatch, 1, 0,

    0,
   10,
    OPC_CheckChild0Type, 125|128,1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   106|128,1,
    OPC_CheckChild0TypeI64,
    OPC_SwitchType , 32, MVT::v8i8,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v8i8, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                      MVT::v8i8, 1, 2,
     0,
    32, MVT::v4i16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4i16, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4i16, 1, 2,
     0,
    32, MVT::v2i32,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v2i32, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      MVT::v2i32, 1, 2,
     0,
    9, MVT::v1i64,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v1i64, 2, 0, 1,
    32, MVT::v4f16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4f16, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4f16, 1, 2,
     0,
    32, MVT::v4bf16,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::v4bf16, 2, 0, 1,
     17,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                      MVT::v4bf16, 1, 2,
     0,
    34, 2|128,1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 0, 1,
     18,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                      2|128,1, 1, 2,
     0,
    10, 21|128,1,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     21|128,1, 2, 0, 1,
    0,
   10,
    OPC_CheckChild0Type, 65|128,1,
    OPC_CheckType, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   10,
    OPC_CheckChild0Type, 71|128,1,
    OPC_CheckType, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   10,
    OPC_CheckChild0Type, 64|128,1,
    OPC_CheckType, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   10,
    OPC_CheckChild0Type, 70|128,1,
    OPC_CheckType, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  0,
 6, TARGET_VAL(AArch64ISD::THREAD_POINTER),
  OPC_CheckTypeI64,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVbaseTLS),
                  MVT::i64, 0,
 14, TARGET_VAL(ISD::READCYCLECOUNTER),
  OPC_RecordNode,
  OPC_CheckTypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 2|128,62|128,3,
  OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::MRS),
                  MVT::i64, MVT::i32, 1, 1,
 27, TARGET_VAL(AArch64ISD::ADC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 9, MVT::i32,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::ADCWr),
                   MVT::i32, 2, 0, 1,
  9, MVT::i64,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::ADCXr),
                   MVT::i64, 2, 0, 1,
  0,
 29, TARGET_VAL(AArch64ISD::ADCS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::i32,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo2GlueInput, TARGET_VAL(AArch64::ADCSWr),
                   MVT::i32, MVT::i32, 2, 0, 1,
  10, MVT::i64,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo2GlueInput, TARGET_VAL(AArch64::ADCSXr),
                   MVT::i64, MVT::i32, 2, 0, 1,
  0,
 27, TARGET_VAL(AArch64ISD::SBC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 9, MVT::i32,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::SBCWr),
                   MVT::i32, 2, 0, 1,
  9, MVT::i64,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(AArch64::SBCXr),
                   MVT::i64, 2, 0, 1,
  0,
 29, TARGET_VAL(AArch64ISD::SBCS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::i32,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo2GlueInput, TARGET_VAL(AArch64::SBCSWr),
                   MVT::i32, MVT::i32, 2, 0, 1,
  10, MVT::i64,
   OPC_EmitCopyToReg2, AArch64::NZCV,
   OPC_MorphNodeTo2GlueInput, TARGET_VAL(AArch64::SBCSXr),
                   MVT::i64, MVT::i32, 2, 0, 1,
  0,
 22, TARGET_VAL(ISD::UDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVWr),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIVXr),
                   MVT::i64, 2, 0, 1,
  0,
 22, TARGET_VAL(ISD::SDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVWr),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIVXr),
                   MVT::i64, 2, 0, 1,
  0,
 8|128,1, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULHrr),
                   MVT::i64, 2, 0, 1,
  39, MVT::v16i8,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv8i8_v8i16),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv16i8_v8i16),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v16i8),
                   MVT::v16i8, 2, 6, 7,
  39, MVT::v8i16,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv4i16_v4i32),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv8i16_v4i32),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                   MVT::v8i16, 2, 6, 7,
  39, MVT::v4i32,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv2i32_v2i64),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMULLv4i32_v2i64),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i32),
                   MVT::v4i32, 2, 6, 7,
  0,
 8|128,1, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULHrr),
                   MVT::i64, 2, 0, 1,
  39, MVT::v16i8,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv8i8_v8i16),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv16i8_v8i16),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v16i8),
                   MVT::v16i8, 2, 6, 7,
  39, MVT::v8i16,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv4i16_v4i32),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv8i16_v4i32),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                   MVT::v8i16, 2, 6, 7,
  39, MVT::v4i32,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 2,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv2i32_v2i64),
                   MVT::f128, 2, 3, 5,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMULLv4i32_v2i64),
                   MVT::f128, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i32),
                   MVT::v4i32, 2, 6, 7,
  0,
 21, TARGET_VAL(ISD::CTLS),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSWr),
                   MVT::i32, 1, 0,
  7, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLSXr),
                   MVT::i64, 1, 0,
  0,
 37, TARGET_VAL(ISD::BITREVERSE),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBITWr),
                   MVT::i32, 1, 0,
  6, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBITXr),
                   MVT::i64, 1, 0,
  7, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBITv8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBITv16i8),
                   MVT::v16i8, 1, 0,
  0,
 37, TARGET_VAL(AArch64ISD::REV16),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Wr),
                   MVT::i32, 1, 0,
  6, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16Xr),
                   MVT::i64, 1, 0,
  7, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV16v16i8),
                   MVT::v16i8, 1, 0,
  0,
 13, TARGET_VAL(AArch64ISD::CALL_ARM64EC_TO_X64),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitCopyToReg1, AArch64::X16,
  OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR_X16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i64, 0,
 28, TARGET_VAL(AArch64ISD::CALL_BTI),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate, 110,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR_BTI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i64, 1, 1,
  10,
   OPC_CheckPatternPredicate, 119,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR_BTI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i64, 1, 1,
  0,
 9, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BR),
                  1, 1,
 8, TARGET_VAL(AArch64ISD::RET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::RET_ReallyLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0,
 34, TARGET_VAL(AArch64ISD::CBZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 14,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBZW),
                   2, 1, 2,
  14,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBZX),
                   2, 1, 2,
  0,
 34, TARGET_VAL(AArch64ISD::CBNZ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 14,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBNZW),
                   2, 1, 2,
  14,
   OPC_CheckChild1TypeI64,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CBNZX),
                   2, 1, 2,
  0,
 14, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_CaptureDeactivationSymbol,
             OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::B),
                  1, 1,
 95, TARGET_VAL(ISD::STRICT_LROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 32,
   OPC_CheckChild1Type, MVT::f16,
   OPC_SwitchType , 12, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUWHr),
                    MVT::i32, 1, 1,
    OPC_CompleteMatch, 1, 2,

   12, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXHr),
                    MVT::i64, 1, 1,
    OPC_CompleteMatch, 1, 2,

   0,
  28,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 10, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUWSr),
                    MVT::i32, 1, 1,
    OPC_CompleteMatch, 1, 2,

   10, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXSr),
                    MVT::i64, 1, 1,
    OPC_CompleteMatch, 1, 2,

   0,
  28,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 10, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUWDr),
                    MVT::i32, 1, 1,
    OPC_CompleteMatch, 1, 2,

   10, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXDr),
                    MVT::i64, 1, 1,
    OPC_CompleteMatch, 1, 2,

   0,
  0,
 10|128,1, TARGET_VAL(ISD::LROUND),
  OPC_RecordChild0,
  OPC_Scope, 48,
   OPC_CheckChild0Type, MVT::f16,
   OPC_SwitchType , 20, MVT::i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWHr),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSHr),
                     MVT::i32, 1, 0,
    0,
   20, MVT::i64,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXHr),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                     MVT::i64, 1, 0,
    0,
   0,
  42,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 16, MVT::i32,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWSr),
                     MVT::i32, 1, 0,
    6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i32),
                     MVT::i32, 1, 0,
    0,
   18, MVT::i64,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXSr),
                     MVT::i64, 1, 0,
    8,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                     MVT::i64, 1, 0,
    0,
   0,
  42,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 18, MVT::i32,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUWDr),
                     MVT::i32, 1, 0,
    8,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASSDr),
                     MVT::i32, 1, 0,
    0,
   16, MVT::i64,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXDr),
                     MVT::i64, 1, 0,
    6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                     MVT::i64, 1, 0,
    0,
   0,
  0,
 46, TARGET_VAL(ISD::STRICT_LLROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI64,
  OPC_Scope, 14,
   OPC_CheckChild1Type, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXHr),
                   MVT::i64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  12,
   OPC_CheckChild1Type, MVT::f32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXSr),
                   MVT::i64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  12,
   OPC_CheckChild1Type, MVT::f64,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASUXDr),
                   MVT::i64, 1, 1,
   OPC_CompleteMatch, 1, 2,

  0,
 67, TARGET_VAL(ISD::LLROUND),
  OPC_RecordChild0,
  OPC_CheckTypeI64,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXHr),
                    MVT::i64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDHr),
                    MVT::i64, 1, 0,
   0,
  20,
   OPC_CheckChild0Type, MVT::f32,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXSr),
                    MVT::i64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASDSr),
                    MVT::i64, 1, 0,
   0,
  18,
   OPC_CheckChild0Type, MVT::f64,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASUXDr),
                    MVT::i64, 1, 0,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTASv1i64),
                    MVT::i64, 1, 0,
   0,
  0,
 11, TARGET_VAL(ISD::CLEANUPRET),
  OPC_RecordNode,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CLEANUPRET),
                  0,
 85|128,1, TARGET_VAL(AArch64ISD::FCMEQ),
  OPC_RecordChild0,
  OPC_Scope, 12,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ64),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ32),
                   MVT::i32, 2, 0, 1,
  29,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv4i16rz),
                    MVT::v4i16, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv4f16),
                    MVT::v4i16, 2, 0, 1,
   0,
  29,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv8i16rz),
                    MVT::v8i16, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv8f16),
                    MVT::v8i16, 2, 0, 1,
   0,
  30,
   OPC_CheckChild0Type, 2|128,1,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv2i32rz),
                    MVT::v2i32, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv2f32),
                    MVT::v2i32, 2, 0, 1,
   0,
  30,
   OPC_CheckChild0Type, 4|128,1,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv4i32rz),
                    MVT::v4i32, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::v4i32, 2, 0, 1,
   0,
  30,
   OPC_CheckChild0Type, 22|128,1,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv2i64rz),
                    MVT::v2i64, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv2f64),
                    MVT::v2i64, 2, 0, 1,
   0,
  30,
   OPC_CheckChild0Type, 21|128,1,
   OPC_Scope, 12,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQv1i64rz),
                    MVT::v1i64, 1, 0,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ64),
                    MVT::v1i64, 2, 0, 1,
   0,
  0,
 24|128,3, TARGET_VAL(AArch64ISD::FCMGE),
  OPC_Scope, 29,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE32),
                    MVT::i32, 2, 0, 1,
   0,
  100,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_SwitchType , 16, MVT::v4f16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv4f16),
                    MVT::v4i16, 2, 0, 1,
   16, MVT::v8f16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv8f16),
                    MVT::v8i16, 2, 0, 1,
   16, 2|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv2f32),
                    MVT::v2i32, 2, 0, 1,
   16, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv4f32),
                    MVT::v4i32, 2, 0, 1,
   16, 22|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGEv2f64),
                    MVT::v2i64, 2, 0, 1,
   0,
  81,
   OPC_RecordChild0,
   OPC_Scope, 14,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv4i16rz),
                    MVT::v4i16, 1, 0,
   14,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv8i16rz),
                    MVT::v8i16, 1, 0,
   15,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv2i32rz),
                    MVT::v2i32, 1, 0,
   15,
    OPC_CheckChild0Type, 4|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv4i32rz),
                    MVT::v4i32, 1, 0,
   15,
    OPC_CheckChild0Type, 22|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv2i64rz),
                    MVT::v2i64, 1, 0,
   0,
  72,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 11, MVT::v4f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv4i16rz),
                    MVT::v4i16, 1, 0,
   11, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv8i16rz),
                    MVT::v8i16, 1, 0,
   11, 2|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv2i32rz),
                    MVT::v2i32, 1, 0,
   11, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv4i32rz),
                    MVT::v4i32, 1, 0,
   11, 22|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv2i64rz),
                    MVT::v2i64, 1, 0,
   0,
  16,
   OPC_RecordChild0,
   OPC_CheckChild0Type, 21|128,1,
   OPC_MoveChild1,
   OPC_CheckImmAllZerosV,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv1i64rz),
                   MVT::v1i64, 1, 0,
  16,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_CheckType, 21|128,1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLEv1i64rz),
                   MVT::v1i64, 1, 0,
  85,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv4f16),
                    MVT::v4i16, 2, 0, 1,
   11, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv8f16),
                    MVT::v8i16, 2, 0, 1,
   12, MVT::v2i32,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv2f32),
                    MVT::v2i32, 2, 0, 1,
   12, MVT::v4i32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv4f32),
                    MVT::v4i32, 2, 0, 1,
   12, MVT::v2i64,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGEv2f64),
                    MVT::v2i64, 2, 0, 1,
   12, MVT::v1i64,
    OPC_CheckChild0Type, 21|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE64),
                    MVT::v1i64, 2, 0, 1,
   0,
  0,
 24|128,3, TARGET_VAL(AArch64ISD::FCMGT),
  OPC_Scope, 29,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT64),
                    MVT::i64, 2, 0, 1,
   11, MVT::i32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT32),
                    MVT::i32, 2, 0, 1,
   0,
  100,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_SwitchType , 16, MVT::v4f16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv4f16),
                    MVT::v4i16, 2, 0, 1,
   16, MVT::v8f16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv8f16),
                    MVT::v8i16, 2, 0, 1,
   16, 2|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv2f32),
                    MVT::v2i32, 2, 0, 1,
   16, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv4f32),
                    MVT::v4i32, 2, 0, 1,
   16, 22|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FACGTv2f64),
                    MVT::v2i64, 2, 0, 1,
   0,
  81,
   OPC_RecordChild0,
   OPC_Scope, 14,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv4i16rz),
                    MVT::v4i16, 1, 0,
   14,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv8i16rz),
                    MVT::v8i16, 1, 0,
   15,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv2i32rz),
                    MVT::v2i32, 1, 0,
   15,
    OPC_CheckChild0Type, 4|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv4i32rz),
                    MVT::v4i32, 1, 0,
   15,
    OPC_CheckChild0Type, 22|128,1,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv2i64rz),
                    MVT::v2i64, 1, 0,
   0,
  72,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 11, MVT::v4f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv4i16rz),
                    MVT::v4i16, 1, 0,
   11, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv8i16rz),
                    MVT::v8i16, 1, 0,
   11, 2|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv2i32rz),
                    MVT::v2i32, 1, 0,
   11, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv4i32rz),
                    MVT::v4i32, 1, 0,
   11, 22|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv2i64rz),
                    MVT::v2i64, 1, 0,
   0,
  16,
   OPC_RecordChild0,
   OPC_CheckChild0Type, 21|128,1,
   OPC_MoveChild1,
   OPC_CheckImmAllZerosV,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv1i64rz),
                   MVT::v1i64, 1, 0,
  16,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_CheckType, 21|128,1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLTv1i64rz),
                   MVT::v1i64, 1, 0,
  85,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv4f16),
                    MVT::v4i16, 2, 0, 1,
   11, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv8f16),
                    MVT::v8i16, 2, 0, 1,
   12, MVT::v2i32,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv2f32),
                    MVT::v2i32, 2, 0, 1,
   12, MVT::v4i32,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv4f32),
                    MVT::v4i32, 2, 0, 1,
   12, MVT::v2i64,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGTv2f64),
                    MVT::v2i64, 2, 0, 1,
   12, MVT::v1i64,
    OPC_CheckChild0Type, 21|128,1,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT64),
                    MVT::v1i64, 2, 0, 1,
   0,
  0,
 107, TARGET_VAL(ISD::ABS),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::i64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 141,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv1i64),
                    MVT::i64, 1, 0,
   8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSXr),
                    MVT::i64, 1, 0,
   0,
  8, MVT::i32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSWr),
                   MVT::i32, 1, 0,
  7, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv16i8),
                   MVT::v16i8, 1, 0,
  7, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv4i16),
                   MVT::v4i16, 1, 0,
  7, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv8i16),
                   MVT::v8i16, 1, 0,
  7, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv2i32),
                   MVT::v2i32, 1, 0,
  7, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv4i32),
                   MVT::v4i32, 1, 0,
  7, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv2i64),
                   MVT::v2i64, 1, 0,
  7, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABSv1i64),
                   MVT::v1i64, 1, 0,
  0,
 79, TARGET_VAL(ISD::VECREDUCE_UMIN),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::i8,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv8i8v),
                    MVT::i8, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv16i8v),
                    MVT::i8, 1, 0,
   0,
  20, MVT::i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv4i16v),
                    MVT::i16, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv8i16v),
                    MVT::i16, 1, 0,
   0,
  30, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINVv4i32v),
                    MVT::i32, 1, 0,
   18,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UMINPv2i32),
                    MVT::i64, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 79, TARGET_VAL(ISD::VECREDUCE_UMAX),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::i8,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                    MVT::i8, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                    MVT::i8, 1, 0,
   0,
  20, MVT::i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                    MVT::i16, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                    MVT::i16, 1, 0,
   0,
  30, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXVv4i32v),
                    MVT::i32, 1, 0,
   18,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXPv2i32),
                    MVT::i64, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 79, TARGET_VAL(ISD::VECREDUCE_SMIN),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::i8,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv8i8v),
                    MVT::i8, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv16i8v),
                    MVT::i8, 1, 0,
   0,
  20, MVT::i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv4i16v),
                    MVT::i16, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv8i16v),
                    MVT::i16, 1, 0,
   0,
  30, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINVv4i32v),
                    MVT::i32, 1, 0,
   18,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SMINPv2i32),
                    MVT::i64, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 79, TARGET_VAL(ISD::VECREDUCE_SMAX),
  OPC_RecordChild0,
  OPC_SwitchType , 20, MVT::i8,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                    MVT::i8, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                    MVT::i8, 1, 0,
   0,
  20, MVT::i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                    MVT::i16, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                    MVT::i16, 1, 0,
   0,
  30, MVT::i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXVv4i32v),
                    MVT::i32, 1, 0,
   18,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXPv2i32),
                    MVT::i64, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 2,
   0,
  0,
 42|128,8, TARGET_VAL(ISD::TRUNCATE),
  OPC_Scope, 11,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 1,
  18|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21|128,3, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 39|128,2, TARGET_VAL(ISD::ADD),
     OPC_Scope, 55,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
      OPC_CheckChild0Integer, 0|128,1,
      OPC_CheckChild0TypeI32,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI32,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v2i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v2i32),
                      MVT::v2i32, 2, 0, 2,
     55,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
      OPC_CheckChild0Integer, 0|128,1,
      OPC_CheckChild0TypeI32,
      OPC_CheckChild1Integer, 24,
      OPC_CheckChild1TypeI32,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 22|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v2i64, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v2i32),
                      MVT::v2i32, 2, 0, 2,
     65,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
      OPC_CheckChild0Integer, 0|128,1,
      OPC_CheckChild0TypeI32,
      OPC_Scope, 26,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                       MVT::v8i16, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v8i8),
                       MVT::v8i8, 2, 0, 2,
      26,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                       MVT::v4i32, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v4i16),
                       MVT::v4i16, 2, 0, 2,
      0,
     66,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
      OPC_CheckChild0Integer, 0|128,1,
      OPC_CheckChild0TypeI32,
      OPC_Scope, 27,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                       MVT::v8i16, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v8i8),
                       MVT::v8i8, 2, 0, 2,
      27,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                       MVT::v4i32, 1, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v4i16),
                       MVT::v4i16, 2, 0, 2,
      0,
     47,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_Scope, 13,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv8i16_v8i8),
                       MVT::v8i8, 2, 0, 1,
      13,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv4i32_v4i16),
                       MVT::v4i16, 2, 0, 1,
      13,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv2i64_v2i32),
                       MVT::v2i32, 2, 0, 1,
      0,
     0,
    50, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v8i8),
                      MVT::v8i8, 2, 1, 0,
     13,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v4i16),
                      MVT::v4i16, 2, 1, 0,
     13,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v2i32),
                      MVT::v2i32, 2, 1, 0,
     0,
    47, TARGET_VAL(ISD::SUB),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v8i8),
                      MVT::v8i8, 2, 0, 1,
     13,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v4i16),
                      MVT::v4i16, 2, 0, 1,
     13,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    0,
   114|128,2, TARGET_VAL(ISD::CONCAT_VECTORS),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 5|128,1, TARGET_VAL(ISD::AssertZext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 40, TARGET_VAL(ISD::AssertZext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     40, TARGET_VAL(ISD::AssertSext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     35, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     0,
    5|128,1, TARGET_VAL(ISD::AssertSext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 40, TARGET_VAL(ISD::AssertZext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     40, TARGET_VAL(ISD::AssertSext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     35, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     0,
    90, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 40, TARGET_VAL(ISD::AssertZext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     40, TARGET_VAL(ISD::AssertSext),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 13, MVT::v8i8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                       MVT::v8i8, 1, 2,
      13, MVT::v4i16,
       OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                       MVT::f128, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                       MVT::v4i16, 1, 2,
      0,
     0,
    0,
   0,
  42,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/111, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv8i8_shift),
                    MVT::v8i8, 2, 1, 2,
   11, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/111, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv4i16_shift),
                    MVT::v4i16, 2, 1, 2,
   11, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/111, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv2i32_shift),
                    MVT::v2i32, 2, 1, 2,
   0,
  60|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 71, TARGET_VAL(ISD::CONCAT_VECTORS),
    OPC_Scope, 44,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v8i8,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::f128, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                      MVT::v8i8, 1, 2,
     13, MVT::v4i16,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::f128, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                      MVT::v4i16, 1, 2,
     0,
    23,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v8i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i8),
                      MVT::v8i8, 2, 0, 1,
     7, MVT::v4i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    0,
   54, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   51, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    13,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    13,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   0,
  30,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                    MVT::v8i8, 1, 0,
   7, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                    MVT::v4i16, 1, 0,
   7, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv2i32),
                    MVT::v2i32, 1, 0,
   0,
  0,
 9, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 1,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BRK),
                  1, 1,
 11, TARGET_VAL(ISD::DEBUGTRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 0|128,96|128,3,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::BRK),
                  1, 1,
 61, TARGET_VAL(AArch64ISD::LS64_BUILD),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI64,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_RecordChild4,
  OPC_CheckChild4TypeI64,
  OPC_RecordChild5,
  OPC_CheckChild5TypeI64,
  OPC_RecordChild6,
  OPC_CheckChild6TypeI64,
  OPC_RecordChild7,
  OPC_CheckChild7TypeI64,
  OPC_CheckType, 124|128,1,
  OPC_EmitIntegerI32, 74|128,3,
  OPC_EmitIntegerI32, AArch64::x8sub_0,
  OPC_EmitIntegerI32, AArch64::x8sub_1,
  OPC_EmitIntegerI32, AArch64::x8sub_2,
  OPC_EmitIntegerI32, AArch64::x8sub_3,
  OPC_EmitIntegerI32, AArch64::x8sub_4,
  OPC_EmitIntegerI32, AArch64::x8sub_5,
  OPC_EmitIntegerI32, AArch64::x8sub_6,
  OPC_EmitIntegerI32, AArch64::x8sub_7,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                  124|128,1, 17, 8, 0, 9, 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16,
 45, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTWr),
                   MVT::i32, 1, 0,
  9, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTXr),
                   MVT::i64, 1, 0,
  9, MVT::v8i8,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTv8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTv16i8),
                   MVT::v16i8, 1, 0,
  0,
 57, TARGET_VAL(ISD::CTTZ),
  OPC_RecordChild0,
  OPC_SwitchType , 25, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CTZWr),
                    MVT::i32, 1, 0,
   12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::RBITWr),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZWr),
                    MVT::i32, 1, 1,
   0,
  25, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CTZXr),
                    MVT::i64, 1, 0,
   12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::RBITXr),
                    MVT::i64, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZXr),
                    MVT::i64, 1, 1,
   0,
  0,
 15, TARGET_VAL(AArch64ISD::LDIAPP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_CheckPatternPredicate, 120,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2, TARGET_VAL(AArch64::LDIAPPX), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, MVT::i64, 1, 1,
 17, TARGET_VAL(AArch64ISD::STILP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_CheckPatternPredicate, 120,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::STILPX), 0|OPFL_Chain|OPFL_MemRefs,
                  3, 1, 2, 3,
 13, TARGET_VAL(AArch64ISD::PTEST),
  OPC_RecordChild0,
  OPC_CheckChild0Type, 35|128,1,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate0,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTEST_PP),
                  MVT::i32, 2, 0, 1,
 13, TARGET_VAL(AArch64ISD::PTEST_ANY),
  OPC_RecordChild0,
  OPC_CheckChild0Type, 35|128,1,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate0,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTEST_PP_ANY),
                  MVT::i32, 2, 0, 1,
 13, TARGET_VAL(AArch64ISD::PTEST_FIRST),
  OPC_RecordChild0,
  OPC_CheckChild0Type, 35|128,1,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate0,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTEST_PP_FIRST),
                  MVT::i32, 2, 0, 1,
 32|128,1, TARGET_VAL(AArch64ISD::CLASTA_N),
  OPC_RecordChild0,
  OPC_Scope, 19,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_RPZ_B),
                   MVT::i32, 3, 0, 1, 2,
  56,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_RPZ_H),
                    MVT::i32, 3, 0, 1, 2,
   15, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_VPZ_H),
                    MVT::f16, 3, 0, 1, 2,
   15, MVT::bf16,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_VPZ_H),
                    MVT::bf16, 3, 0, 1, 2,
   0,
  39,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_RPZ_S),
                    MVT::i32, 3, 0, 1, 2,
   15, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_VPZ_S),
                    MVT::f32, 3, 0, 1, 2,
   0,
  39,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_RPZ_D),
                    MVT::i64, 3, 0, 1, 2,
   15, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTA_VPZ_D),
                    MVT::f64, 3, 0, 1, 2,
   0,
  0,
 32|128,1, TARGET_VAL(AArch64ISD::CLASTB_N),
  OPC_RecordChild0,
  OPC_Scope, 19,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_RPZ_B),
                   MVT::i32, 3, 0, 1, 2,
  56,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_RPZ_H),
                    MVT::i32, 3, 0, 1, 2,
   15, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_VPZ_H),
                    MVT::f16, 3, 0, 1, 2,
   15, MVT::bf16,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_VPZ_H),
                    MVT::bf16, 3, 0, 1, 2,
   0,
  39,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i32,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_RPZ_S),
                    MVT::i32, 3, 0, 1, 2,
   15, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_VPZ_S),
                    MVT::f32, 3, 0, 1, 2,
   0,
  39,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::i64,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_RPZ_D),
                    MVT::i64, 3, 0, 1, 2,
   15, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLASTB_VPZ_D),
                    MVT::f64, 3, 0, 1, 2,
   0,
  0,
 17|128,1, TARGET_VAL(AArch64ISD::LASTA),
  OPC_RecordChild0,
  OPC_Scope, 16,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_RPZ_B),
                   MVT::i32, 2, 0, 1,
  45,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_RPZ_H),
                    MVT::i32, 2, 0, 1,
   11, MVT::f16,
    OPC_CheckChild1Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_VPZ_H),
                    MVT::f16, 2, 0, 1,
   11, MVT::bf16,
    OPC_CheckChild1Type, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_VPZ_H),
                    MVT::bf16, 2, 0, 1,
   0,
  32,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_RPZ_S),
                    MVT::i32, 2, 0, 1,
   11, MVT::f32,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_VPZ_S),
                    MVT::f32, 2, 0, 1,
   0,
  45,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_RPZ_D),
                    MVT::i64, 2, 0, 1,
   11, MVT::f32,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_VPZ_S),
                    MVT::f32, 2, 0, 1,
   11, MVT::f64,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTA_VPZ_D),
                    MVT::f64, 2, 0, 1,
   0,
  0,
 17|128,1, TARGET_VAL(AArch64ISD::LASTB),
  OPC_RecordChild0,
  OPC_Scope, 16,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_B),
                   MVT::i32, 2, 0, 1,
  45,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i32,
    OPC_CheckChild1Type, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_H),
                    MVT::i32, 2, 0, 1,
   11, MVT::f16,
    OPC_CheckChild1Type, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                    MVT::f16, 2, 0, 1,
   11, MVT::bf16,
    OPC_CheckChild1Type, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                    MVT::bf16, 2, 0, 1,
   0,
  32,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i32,
    OPC_CheckChild1Type, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_S),
                    MVT::i32, 2, 0, 1,
   11, MVT::f32,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_S),
                    MVT::f32, 2, 0, 1,
   0,
  45,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::i64,
    OPC_CheckChild1Type, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_RPZ_D),
                    MVT::i64, 2, 0, 1,
   11, MVT::f32,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_S),
                    MVT::f32, 2, 0, 1,
   11, MVT::f64,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LASTB_VPZ_D),
                    MVT::f64, 2, 0, 1,
   0,
  0,
 9|128,1, TARGET_VAL(AArch64ISD::SST1_UXTW_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 73,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_D_UXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_UXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_UXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_UXTW),
                    4, 1, 2, 3, 4,
   0,
  58,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_S_UXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_S_UXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_UXTW),
                    4, 1, 2, 3, 4,
   0,
  0,
 9|128,1, TARGET_VAL(AArch64ISD::SST1_SXTW_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 73,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_D_SXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_SXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_SXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_SXTW),
                    4, 1, 2, 3, 4,
   0,
  58,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_S_SXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_S_SXTW),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_SXTW),
                    4, 1, 2, 3, 4,
   0,
  0,
 107, TARGET_VAL(AArch64ISD::SST1_UXTW_SCALED_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 43,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_S_UXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_UXTW_SCALED),
                    4, 1, 2, 3, 4,
   0,
  58,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_UXTW_SCALED),
                    4, 1, 2, 3, 4,
   0,
  0,
 107, TARGET_VAL(AArch64ISD::SST1_SXTW_SCALED_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 43,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_S_SXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_SXTW_SCALED),
                    4, 1, 2, 3, 4,
   0,
  58,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 58|128,1,
   OPC_MoveChild5,
   OPC_Scope, 14,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_SXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_SXTW_SCALED),
                    4, 1, 2, 3, 4,
   14,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_SXTW_SCALED),
                    4, 1, 2, 3, 4,
   0,
  0,
 75, TARGET_VAL(AArch64ISD::SST1_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, 58|128,1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_RecordChild4,
  OPC_CheckChild4Type, 58|128,1,
  OPC_MoveChild5,
  OPC_Scope, 14,
   OPC_CheckValueType, 39|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1B_D),
                   4, 1, 2, 3, 4,
  14,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D),
                   4, 1, 2, 3, 4,
  14,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D),
                   4, 1, 2, 3, 4,
  14,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D),
                   4, 1, 2, 3, 4,
  0,
 92|128,1, TARGET_VAL(AArch64ISD::SST1Q_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 26,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 53|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 81|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 77|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 66|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  26,
   OPC_CheckChild1Type, 72|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_CheckValueType, 72|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1Q),
                   4, 1, 2, 3, 4,
  0,
 60, TARGET_VAL(AArch64ISD::SST1_SCALED_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1Type, 58|128,1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_RecordChild4,
  OPC_CheckChild4Type, 58|128,1,
  OPC_MoveChild5,
  OPC_Scope, 14,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1H_D_SCALED),
                   4, 1, 2, 3, 4,
  14,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1W_D_SCALED),
                   4, 1, 2, 3, 4,
  14,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SST1D_SCALED),
                   4, 1, 2, 3, 4,
  0,
 16|128,1, TARGET_VAL(AArch64ISD::SSTNT1_PRED),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 61,
   OPC_CheckChild1Type, 53|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 53|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_Scope, 15,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1B_ZZR_S),
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_ZZR_S),
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_ZZR_S),
                    4, 1, 2, 3, 4,
   0,
  77,
   OPC_CheckChild1Type, 58|128,1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3Type, 58|128,1,
   OPC_RecordChild4,
   OPC_CheckChild4TypeI64,
   OPC_MoveChild5,
   OPC_Scope, 15,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1B_ZZR_D),
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1H_ZZR_D),
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1W_ZZR_D),
                    4, 1, 2, 3, 4,
   15,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::STNT1D_ZZR_D),
                    4, 1, 2, 3, 4,
   0,
  0,
 8, TARGET_VAL(AArch64ISD::INOUT_ZA_USE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::InOutZAUsePseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  0,
 8, TARGET_VAL(AArch64ISD::REQUIRES_ZA_SAVE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::RequiresZASavePseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  0,
 8, TARGET_VAL(AArch64ISD::REQUIRES_ZT0_SAVE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::RequiresZT0SavePseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  0,
 6, TARGET_VAL(AArch64ISD::SME_STATE_ALLOC),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::SMEStateAllocPseudo),
                  0,
 113, TARGET_VAL(ISD::STRICT_LRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 38,
   OPC_CheckChild1Type, MVT::f16,
   OPC_SwitchType , 15, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                    MVT::i16, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWHr),
                    MVT::i32, 1, 2,
   15, MVT::i64,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                    MVT::i16, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXHr),
                    MVT::i64, 1, 2,
   0,
  34,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 13, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                    MVT::i32, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWSr),
                    MVT::i32, 1, 2,
   13, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                    MVT::i32, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXSr),
                    MVT::i64, 1, 2,
   0,
  34,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 13, MVT::i32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                    MVT::i64, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUWDr),
                    MVT::i32, 1, 2,
   13, MVT::i64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                    MVT::i64, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXDr),
                    MVT::i64, 1, 2,
   0,
  0,
 70|128,1, TARGET_VAL(ISD::LRINT),
  OPC_RecordChild0,
  OPC_Scope, 72,
   OPC_CheckChild0Type, MVT::f16,
   OPC_SwitchType , 32, MVT::i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWHr),
                     MVT::i32, 1, 1,
    14,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSHr),
                     MVT::i32, 1, 1,
    0,
   32, MVT::i64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                     MVT::i64, 1, 1,
    14,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                     MVT::i16, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                     MVT::i64, 1, 1,
    0,
   0,
  60,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 22, MVT::i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                    MVT::i32, 1, 0,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWSr),
                     MVT::i32, 1, 1,
    6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                     MVT::i32, 1, 1,
    0,
   30, MVT::i64,
    OPC_Scope, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                     MVT::i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                     MVT::i64, 1, 1,
    14,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                     MVT::i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                     MVT::i64, 1, 1,
    0,
   0,
  60,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 30, MVT::i32,
    OPC_Scope, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUWDr),
                     MVT::i32, 1, 1,
    14,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSSDr),
                     MVT::i32, 1, 1,
    0,
   22, MVT::i64,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                    MVT::i64, 1, 0,
    OPC_Scope, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                     MVT::i64, 1, 1,
    6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::i64, 1, 1,
    0,
   0,
  0,
 55, TARGET_VAL(ISD::STRICT_LLRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI64,
  OPC_Scope, 17,
   OPC_CheckChild1Type, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXHr),
                   MVT::i16, 1, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXHr),
                   MVT::i64, 1, 2,
  15,
   OPC_CheckChild1Type, MVT::f32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXSr),
                   MVT::i32, 1, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXSr),
                   MVT::i64, 1, 2,
  15,
   OPC_CheckChild1Type, MVT::f64,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXDr),
                   MVT::i64, 1, 1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTZSUXDr),
                   MVT::i64, 1, 2,
  0,
 97, TARGET_VAL(ISD::LLRINT),
  OPC_RecordChild0,
  OPC_CheckTypeI64,
  OPC_Scope, 34,
   OPC_CheckChild0Type, MVT::f16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                    MVT::i16, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXHr),
                    MVT::i64, 1, 1,
   14,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXHr),
                    MVT::i16, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDHr),
                    MVT::i64, 1, 1,
   0,
  32,
   OPC_CheckChild0Type, MVT::f32,
   OPC_Scope, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXSr),
                    MVT::i64, 1, 1,
   14,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXSr),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSDSr),
                    MVT::i64, 1, 1,
   0,
  24,
   OPC_CheckChild0Type, MVT::f64,
   OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXDr),
                   MVT::i64, 1, 0,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSUXDr),
                    MVT::i64, 1, 1,
   6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                    MVT::i64, 1, 1,
   0,
  0,
 40|128,1, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 16, MVT::i64,
   OPC_CheckChild0TypeI32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i64, 0,
   OPC_EmitIntegerI32, AArch64::sub_32,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::i64, 3, 1, 0, 2,
  25, MVT::v8i16,
   OPC_Scope, 12,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv16i8_shift),
                    MVT::v8i16, 2, 1, 2,
   9,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i8_shift),
                    MVT::v8i16, 2, 0, 1,
   0,
  24, MVT::v4i32,
   OPC_Scope, 11,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv8i16_shift),
                    MVT::v4i32, 2, 1, 2,
   9,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i16_shift),
                    MVT::v4i32, 2, 0, 1,
   0,
  24, MVT::v2i64,
   OPC_Scope, 11,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv4i32_shift),
                    MVT::v2i64, 2, 1, 2,
   9,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USHLLv2i32_shift),
                    MVT::v2i64, 2, 0, 1,
   0,
  14, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_B),
                   42|128,1, 3, 0, 1, 2,
  14, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_H),
                   48|128,1, 3, 0, 1, 2,
  14, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_S),
                   53|128,1, 3, 0, 1, 2,
  14, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 60|128,1, TARGET_VAL(AArch64ISD::CTTZ_ELTS),
  OPC_RecordChild0,
  OPC_CheckTypeI64,
  OPC_Scope, 45,
   OPC_CheckChild0Type, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                   31|128,1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 2, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                   31|128,1, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 5, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_B),
                   MVT::i64, 2, 3, 6,
  45,
   OPC_CheckChild0Type, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                   31|128,1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 2, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                   31|128,1, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 5, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_H),
                   MVT::i64, 2, 3, 6,
  45,
   OPC_CheckChild0Type, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                   31|128,1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 2, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                   31|128,1, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 5, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_S),
                   MVT::i64, 2, 3, 6,
  45,
   OPC_CheckChild0Type, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                   31|128,1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 2, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                   31|128,1, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(AArch64::BRKB_PPzP),
                   31|128,1, 2, 5, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNTP_XPP_D),
                   MVT::i64, 2, 3, 6,
  0,
 10, TARGET_VAL(AArch64ISD::PROBED_ALLOCA),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::PROBED_STACKALLOC_DYN),
                  MVT::i64, 1, 1,
 19, TARGET_VAL(ISD::CATCHRET),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::CATCHRET),
                  2, 1, 2,
 8, TARGET_VAL(AArch64ISD::ENTRY_PSTATE_SM),
  OPC_RecordNode,
  OPC_CheckTypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::EntryPStateSM),
                  MVT::i64, 0,
 8, TARGET_VAL(AArch64ISD::CHECK_MATCHING_VL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(AArch64::CHECK_MATCHING_VL_PSEUDO), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  0,
 12, TARGET_VAL(AArch64ISD::ALLOCATE_ZA_BUFFER),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_CheckTypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::AllocateZABuffer),
                  MVT::i64, MVT::i64, 1, 1,
 12, TARGET_VAL(AArch64ISD::INIT_TPIDR2OBJ),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(AArch64::InitTPIDR2Obj),
                  2, 1, 2,
 9, TARGET_VAL(AArch64ISD::GET_SME_SAVE_SIZE),
  OPC_RecordNode,
  OPC_CheckTypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GetSMESaveSize),
                  MVT::i64, MVT::i64, 0,
 12, TARGET_VAL(AArch64ISD::ALLOC_SME_SAVE_BUFFER),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_CheckTypeI64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::AllocateSMESaveBuffer),
                  MVT::i64, MVT::i64, 1, 1,
 13|128,2, TARGET_VAL(AArch64ISD::SQADD),
  OPC_RecordChild0,
  OPC_Scope, 112|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 47|128,1, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 68|128,5,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 107,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 53, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                      MVT::f32, 4, 0, 5, 2, 6,
     45, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                      MVT::f32, 4, 0, 5, 2, 6,
     0,
    50,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 5, 2, 6,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i32_indexed),
                     MVT::f32, 4, 0, 4, 7, 8,
    0,
   55, TARGET_VAL(AArch64ISD::SQDMULL),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 36,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv1i64_indexed),
                     MVT::f64, 4, 0, 1, 2, 4,
    12,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALi32),
                     MVT::f64, 3, 0, 1, 2,
    0,
   0,
  23,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv1i64),
                    MVT::f64, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv1i32),
                    MVT::f32, 2, 0, 1,
   0,
  0,
 13|128,2, TARGET_VAL(AArch64ISD::SQSUB),
  OPC_RecordChild0,
  OPC_Scope, 112|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 47|128,1, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 68|128,5,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 107,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 53, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                      MVT::f32, 4, 0, 5, 2, 6,
     45, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                      MVT::f32, 4, 0, 5, 2, 6,
     0,
    50,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 5, 2, 6,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i32_indexed),
                     MVT::f32, 4, 0, 4, 7, 8,
    0,
   55, TARGET_VAL(AArch64ISD::SQDMULL),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::f32,
    OPC_Scope, 36,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv1i64_indexed),
                     MVT::f64, 4, 0, 1, 2, 4,
    12,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLi32),
                     MVT::f64, 3, 0, 1, 2,
    0,
   0,
  23,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv1i64),
                    MVT::f64, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv1i32),
                    MVT::f32, 2, 0, 1,
   0,
  0,
 14|128,48, TARGET_VAL(ISD::STRICT_FMA),
  OPC_RecordNode,
  OPC_Scope, 60,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::f128, 3, 5, 1, 6,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                   MVT::f32, 4, 4, 3, 7, 8,
  60,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::f128, 3, 5, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                   MVT::f32, 4, 4, 1, 7, 8,
  52|128,11,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 106|128,7, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 71|128,2,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 9|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 82, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8f16,
       OPC_Scope, 37,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f16,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 1, 4,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 2, 6,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                        MVT::f16, 3, 5, 7, 3,
       34,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate5,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f16,
        OPC_CheckPatternPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 1, 5,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                        MVT::f16, 4, 4, 6, 2, 7,
       0,
      43, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8f16,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 2, 6,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBHrrr),
                       MVT::f16, 3, 5, 7, 3,
      0,
     48,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 6, 1, 7,
     46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDHrrr),
                      MVT::f16, 3, 5, 7, 3,
     43,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                      MVT::f16, 4, 4, 6, 1, 7,
     43,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                      MVT::f16, 4, 4, 6, 2, 7,
     0,
    75|128,2,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 9|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 82, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 4|128,1,
       OPC_Scope, 36,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate6,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 4,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 2, 6,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                        MVT::f32, 3, 5, 7, 3,
       34,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate6,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f32, 2, 1, 5,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                        MVT::f32, 4, 4, 6, 2, 7,
       0,
      43, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 4|128,1,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate6,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 2, 6,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBSrrr),
                       MVT::f32, 3, 5, 7, 3,
      0,
     49,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 6, 1, 7,
     46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDSrrr),
                      MVT::f32, 3, 5, 7, 3,
     44,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                      MVT::f32, 4, 4, 6, 1, 7,
     44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                      MVT::f32, 4, 4, 6, 2, 7,
     0,
    79|128,2,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 10|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_SwitchOpcode , 83, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 22|128,1,
       OPC_Scope, 36,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate6,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i64, 2, 1, 4,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i64, 2, 2, 6,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                        MVT::f64, 3, 5, 7, 3,
       35,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate, 11,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild3,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 1, 5,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                        MVT::f64, 4, 4, 6, 2, 7,
       0,
      43, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 22|128,1,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling3,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate6,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i64, 2, 1, 4,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i64, 2, 2, 6,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBDrrr),
                       MVT::f64, 3, 5, 7, 3,
      0,
     50,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 6, 1, 7,
     46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDDrrr),
                      MVT::f64, 3, 5, 7, 3,
     45,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                      MVT::f64, 4, 4, 6, 1, 7,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                      MVT::f64, 4, 4, 6, 2, 7,
     0,
    0,
   63|128,3, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 14|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 47,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 4,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                      MVT::f16, 3, 5, 7, 3,
     44,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 6, 1, 7,
     44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 6, 2, 7,
     0,
    17|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 47,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 4,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                      MVT::f32, 3, 5, 7, 3,
     45,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 6, 1, 7,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 6, 2, 7,
     0,
    19|128,1,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 47,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 2, 4,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                      MVT::f64, 3, 5, 7, 3,
     46,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 3, 5,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 6, 1, 7,
     46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 1, 5,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 6, 2, 7,
     0,
    0,
   0,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                   MVT::f16, 3, 1, 5, 3,
  39,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                   MVT::f16, 3, 5, 2, 3,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                   MVT::f32, 3, 1, 5, 3,
  39,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                   MVT::f32, 3, 5, 2, 3,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                   MVT::f64, 3, 1, 5, 3,
  39,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                   MVT::f64, 3, 5, 2, 3,
  39,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBHrrr),
                   MVT::f16, 3, 1, 5, 3,
  40,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBHrrr),
                   MVT::f16, 3, 5, 2, 3,
  39,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBSrrr),
                   MVT::f32, 3, 1, 5, 3,
  40,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBSrrr),
                   MVT::f32, 3, 5, 2, 3,
  39,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBDrrr),
                   MVT::f64, 3, 1, 5, 3,
  11|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 1, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBDrrr),
                    MVT::f64, 3, 5, 2, 3,
   93|128,1, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 36,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 2, 5, 3,
    35,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 5, 1, 3,
    36,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 2, 5, 3,
    35,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 5, 1, 3,
    36,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 2, 5, 3,
    35,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 5, 1, 3,
    0,
   0,
  99,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                    MVT::f16, 4, 4, 1, 2, 5,
   28,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                    MVT::f32, 4, 4, 1, 2, 5,
   29,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                    MVT::f64, 4, 4, 1, 2, 5,
   0,
  115|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_Scope, 102,
     OPC_RecordChild0,
     OPC_Scope, 31,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 3, 1, 5,
     32,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 3, 1, 5,
     33,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 3, 1, 5,
     0,
    61,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_SwitchType , 24, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 3, 1, 5,
     24, 22|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 3, 1, 5,
     0,
    0,
   65|128,1, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 97,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 28,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 3, 1, 5,
     29,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 3, 1, 5,
     30,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 3, 1, 5,
     0,
    92,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 26,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 4, 1, 2, 5,
     27,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 4, 1, 2, 5,
     28,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 4, 1, 2, 5,
     0,
    0,
   0,
  98,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_Scope, 59,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_SwitchType , 23, 4|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                     MVT::f32, 4, 4, 1, 2, 5,
    23, 22|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                     MVT::f64, 4, 4, 1, 2, 5,
    0,
   30,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 2, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDHrrr),
                    MVT::f16, 3, 1, 5, 3,
   0,
  35,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDHrrr),
                   MVT::f16, 3, 5, 2, 3,
  35,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDSrrr),
                   MVT::f32, 3, 1, 5, 3,
  35,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDSrrr),
                   MVT::f32, 3, 5, 2, 3,
  35,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 2, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDDrrr),
                   MVT::f64, 3, 1, 5, 3,
  125,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 60,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 27,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDDrrr),
                     MVT::f64, 3, 5, 2, 3,
    26,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                     MVT::f64, 4, 4, 3, 1, 5,
    0,
   27,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                    MVT::f16, 4, 4, 3, 1, 5,
   28,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                    MVT::f32, 4, 4, 3, 1, 5,
   0,
  62|128,1,
   OPC_RecordChild1,
   OPC_Scope, 10|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 87, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 26,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                      MVT::f16, 4, 4, 1, 2, 5,
     27,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                      MVT::f32, 4, 4, 1, 2, 5,
     28,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                      MVT::f64, 4, 4, 1, 2, 5,
     0,
    42, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                      MVT::f16, 3, 1, 2, 3,
     10, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                      MVT::f32, 3, 1, 2, 3,
     10, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                      MVT::f64, 3, 1, 2, 3,
     0,
    0,
   46,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBHrrr),
                     MVT::f16, 3, 1, 2, 3,
    10, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBSrrr),
                     MVT::f32, 3, 1, 2, 3,
    10, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMSUBDrrr),
                     MVT::f64, 3, 1, 2, 3,
    0,
   0,
  47,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 11, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBHrrr),
                    MVT::f16, 3, 2, 1, 3,
   10, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBSrrr),
                    MVT::f32, 3, 2, 1, 3,
   10, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMSUBDrrr),
                    MVT::f64, 3, 2, 1, 3,
   0,
  42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 11, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDHrrr),
                    MVT::f16, 3, 1, 2, 3,
   10, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDSrrr),
                    MVT::f32, 3, 1, 2, 3,
   10, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMADDDrrr),
                    MVT::f64, 3, 1, 2, 3,
   0,
  91,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 24, 2|128,1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                    2|128,1, 4, 4, 3, 7, 8,
   24, 4|128,1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 5, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                    4|128,1, 4, 4, 3, 7, 8,
   0,
  106|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 86, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 24, 2|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 5, 2, 6,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                     2|128,1, 4, 4, 1, 7, 8,
    24, 4|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 5, 2, 6,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                     4|128,1, 4, 4, 1, 7, 8,
    0,
   9|128,1, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 44, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 12, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                      MVT::v8f16, 4, 4, 1, 2, 5,
     12, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                      MVT::v4f16, 4, 4, 1, 2, 5,
     0,
    49, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 13, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 4, 1, 2, 5,
     13, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 4, 1, 2, 5,
     0,
    32, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 4, 1, 2, 5,
    0,
   0,
  16|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 48, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 12, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                     MVT::v8f16, 4, 4, 3, 1, 5,
    12, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                     MVT::v4f16, 4, 4, 3, 1, 5,
    0,
   108, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_Scope, 53,
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 13, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 4, 3, 1, 5,
     13, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 4, 3, 1, 5,
     0,
    51,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, 4|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_SwitchType , 12, 2|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 4, 3, 1, 5,
     12, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 4, 3, 1, 5,
     0,
    0,
   75, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_Scope, 36,
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 4, 3, 1, 5,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, 22|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 4, 3, 1, 5,
    0,
   25|128,2, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 12|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 45, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_SwitchType , 12, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 4, 3, 1, 5,
      12, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 4, 3, 1, 5,
      0,
     50, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_SwitchType , 13, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 4, 3, 1, 5,
      13, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 4, 3, 1, 5,
      0,
     33, TARGET_VAL(AArch64ISD::DUPLANE64),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 4, 3, 1, 5,
     0,
    7|128,1,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_SwitchOpcode , 43, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 12, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 4, 1, 2, 5,
      12, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 4, 1, 2, 5,
      0,
     48, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 13, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 4, 1, 2, 5,
      13, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 4, 1, 2, 5,
      0,
     31, TARGET_VAL(AArch64ISD::DUPLANE64),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 4, 1, 2, 5,
     0,
    0,
   0,
  94,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 50, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 12, 2|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                     2|128,1, 4, 4, 1, 2, 5,
    12, 4|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                     4|128,1, 4, 4, 1, 2, 5,
    0,
   34, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 22|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 22|128,1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                    22|128,1, 4, 4, 1, 2, 5,
   0,
  9|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 44, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 12, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                     MVT::v8f16, 4, 4, 3, 1, 5,
    12, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                     MVT::v4f16, 4, 4, 3, 1, 5,
    0,
   49, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 13, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                     2|128,1, 4, 4, 3, 1, 5,
    13, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                     4|128,1, 4, 4, 3, 1, 5,
    0,
   32, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                    22|128,1, 4, 4, 3, 1, 5,
   0,
  53|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 43, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 12, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                     MVT::v8f16, 4, 4, 1, 2, 5,
    12, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                     MVT::v4f16, 4, 4, 1, 2, 5,
    0,
   48, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 13, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                     2|128,1, 4, 4, 1, 2, 5,
    13, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                     4|128,1, 4, 4, 1, 2, 5,
    0,
   31, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                    22|128,1, 4, 4, 1, 2, 5,
   42|128,1, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 61,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 25, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                      MVT::v8f16, 4, 3, 1, 6, 7,
     25, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                      MVT::v4f16, 4, 3, 1, 6, 7,
     0,
    65,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 26, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 3, 1, 6, 7,
     26, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 3, 1, 6, 7,
     0,
    34,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 2, 5,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 3, 1, 6, 7,
    0,
   0,
  6|128,5,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 32|128,2, TARGET_VAL(AArch64ISD::DUP),
    OPC_Scope, 50|128,1,
     OPC_RecordChild0,
     OPC_Scope, 65,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 25, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 3, 2, 6, 7,
      25, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 3, 2, 6, 7,
      0,
     69,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 26, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 2, 6, 7,
      26, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 2, 6, 7,
      0,
     38,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 2, 6, 7,
     0,
    105,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_SwitchType , 62, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_SwitchType , 25, 2|128,1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 2, 6, 7,
      25, 4|128,1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 2, 6, 7,
      0,
     32, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 2, 6, 7,
     0,
    0,
   91|128,2, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 45|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
     OPC_RecordChild0,
     OPC_Scope, 62,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_SwitchType , 25, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 3, 2, 6, 7,
      25, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 3, 2, 6, 7,
      0,
     66,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_SwitchType , 26, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 2, 6, 7,
      26, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 1, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 2, 6, 7,
      0,
     35,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 2, 6, 7,
     0,
    40|128,1,
     OPC_RecordChild0,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
     OPC_RecordChild0,
     OPC_Scope, 60,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 25, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 2, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 3, 1, 6, 7,
      25, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 4, 2, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 3, 1, 6, 7,
      0,
     64,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_SwitchType , 26, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 2, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 1, 6, 7,
      26, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 4, 2, 5,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 1, 6, 7,
      0,
     33,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 1, 6, 7,
     0,
    0,
   0,
  56|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 103, TARGET_VAL(AArch64ISD::DUP),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_SwitchType , 61, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 25, 2|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 3, 1, 6, 7,
     25, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 3, 1, 6, 7,
     0,
    31, MVT::f64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 2, 5,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 3, 1, 6, 7,
    0,
   71, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 10, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4f16),
                     MVT::v4f16, 3, 3, 1, 2,
    10, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8f16),
                     MVT::v8f16, 3, 3, 1, 2,
    11, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2f32),
                     2|128,1, 3, 3, 1, 2,
    11, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4f32),
                     4|128,1, 3, 3, 1, 2,
    11, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2f64),
                     22|128,1, 3, 3, 1, 2,
    0,
   0,
  120|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 72, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 10, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4f16),
                     MVT::v4f16, 3, 3, 2, 1,
    10, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv8f16),
                     MVT::v8f16, 3, 3, 2, 1,
    11, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2f32),
                     2|128,1, 3, 3, 2, 1,
    11, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv4f32),
                     4|128,1, 3, 3, 2, 1,
    11, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLSv2f64),
                     22|128,1, 3, 3, 2, 1,
    0,
   38|128,1, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 61,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_SwitchType , 25, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                      MVT::v8f16, 4, 3, 2, 6, 7,
     25, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                      MVT::v4f16, 4, 3, 2, 6, 7,
     0,
    65,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_SwitchType , 26, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                      2|128,1, 4, 3, 2, 6, 7,
     26, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 1, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                      4|128,1, 4, 3, 2, 6, 7,
     0,
    34,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                     22|128,1, 4, 3, 2, 6, 7,
    0,
   0,
  115|128,1,
   OPC_RecordChild1,
   OPC_Scope, 39|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 60,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 25, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                      MVT::v8f16, 4, 3, 1, 6, 7,
     25, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                      MVT::v4f16, 4, 3, 1, 6, 7,
     0,
    64,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 26, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                      2|128,1, 4, 3, 1, 6, 7,
     26, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 4, 2, 5,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                      4|128,1, 4, 3, 1, 6, 7,
     0,
    33,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 2, 5,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                     22|128,1, 4, 3, 1, 6, 7,
    0,
   70,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 10, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4f16),
                     MVT::v4f16, 3, 3, 2, 1,
    10, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv8f16),
                     MVT::v8f16, 3, 3, 2, 1,
    11, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2f32),
                     2|128,1, 3, 3, 2, 1,
    11, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv4f32),
                     4|128,1, 3, 3, 2, 1,
    11, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMLAv2f64),
                     22|128,1, 3, 3, 2, 1,
    0,
   0,
  0,
 3|128,48, TARGET_VAL(ISD::FMA),
  OPC_Scope, 59,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::f128, 3, 4, 0, 5,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                   MVT::f32, 4, 3, 2, 6, 7,
  59,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::f128, 3, 4, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                   MVT::f32, 4, 3, 0, 6, 7,
  22|128,11,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 85|128,7, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 64|128,2,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 6|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 80, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8f16,
       OPC_Scope, 36,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f16,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 0, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 1, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                        MVT::f16, 3, 4, 6, 2,
       33,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate5,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f16,
        OPC_CheckPatternPredicate7,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f16, 2, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                        MVT::f16, 4, 3, 5, 1, 6,
       0,
      42, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v8f16,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 0, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f16, 2, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBHrrr),
                       MVT::f16, 3, 4, 6, 2,
      0,
     47,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 5, 0, 6,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDHrrr),
                      MVT::f16, 3, 4, 6, 2,
     42,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                      MVT::f16, 4, 3, 5, 0, 6,
     42,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                      MVT::f16, 4, 3, 5, 1, 6,
     0,
    68|128,2,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 6|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 80, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 4|128,1,
       OPC_Scope, 35,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate6,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                        MVT::f32, 3, 4, 6, 2,
       33,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate6,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f32,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f32, 2, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                        MVT::f32, 4, 3, 5, 1, 6,
       0,
      42, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 4|128,1,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f32,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBSrrr),
                       MVT::f32, 3, 4, 6, 2,
      0,
     48,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 5, 0, 6,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDSrrr),
                      MVT::f32, 3, 4, 6, 2,
     43,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                      MVT::f32, 4, 3, 5, 0, 6,
     43,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                      MVT::f32, 4, 3, 5, 1, 6,
     0,
    72|128,2,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 7|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 81, TARGET_VAL(ISD::FNEG),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 22|128,1,
       OPC_Scope, 35,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild1TypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate6,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i64, 2, 0, 3,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i64, 2, 1, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                        MVT::f64, 3, 4, 6, 2,
       34,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate, 11,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::f64,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 0, 4,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                        MVT::f64, 4, 3, 5, 1, 6,
       0,
      42, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
       OPC_RecordChild0,
       OPC_CheckChild0Type, 22|128,1,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
       OPC_RecordChild0,
       OPC_MoveParent,
       OPC_CheckType, MVT::f64,
       OPC_CheckPatternPredicate6,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i64, 2, 0, 3,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i64, 2, 1, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBDrrr),
                       MVT::f64, 3, 4, 6, 2,
      0,
     49,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 5, 0, 6,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDDrrr),
                      MVT::f64, 3, 4, 6, 2,
     44,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                      MVT::f64, 4, 3, 5, 0, 6,
     44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                      MVT::f64, 4, 3, 5, 1, 6,
     0,
    0,
   54|128,3, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 11|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                      MVT::f16, 3, 4, 6, 2,
     43,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 5, 0, 6,
     43,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 5, 1, 6,
     0,
    14|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                      MVT::f32, 3, 4, 6, 2,
     44,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 5, 0, 6,
     44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 5, 1, 6,
     0,
    16|128,1,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 46,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                      MVT::f64, 3, 4, 6, 2,
     45,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 2, 4,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 5, 0, 6,
     45,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 0, 4,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 5, 1, 6,
     0,
    0,
   0,
  39,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                   MVT::f16, 3, 0, 4, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                   MVT::f16, 3, 4, 1, 2,
  39,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                   MVT::f32, 3, 0, 4, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                   MVT::f32, 3, 4, 1, 2,
  39,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                   MVT::f64, 3, 0, 4, 2,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                   MVT::f64, 3, 4, 1, 2,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBHrrr),
                   MVT::f16, 3, 0, 4, 2,
  39,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBHrrr),
                   MVT::f16, 3, 4, 1, 2,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBSrrr),
                   MVT::f32, 3, 0, 4, 2,
  39,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBSrrr),
                   MVT::f32, 3, 4, 1, 2,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBDrrr),
                   MVT::f64, 3, 0, 4, 2,
  4|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 35, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBDrrr),
                    MVT::f64, 3, 4, 1, 2,
   87|128,1, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 1, 4, 2,
    34,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 4, 0, 2,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 1, 4, 2,
    34,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 4, 0, 2,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 1, 4, 2,
    34,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 4, 0, 2,
    0,
   0,
  96,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                    MVT::f16, 4, 3, 0, 1, 4,
   27,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                    MVT::f32, 4, 3, 0, 1, 4,
   28,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                    MVT::f64, 4, 3, 0, 1, 4,
   0,
  104|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 34|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_Scope, 99,
     OPC_RecordChild0,
     OPC_Scope, 30,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 2, 0, 4,
     31,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 2, 0, 4,
     32,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 2, 0, 4,
     0,
    59,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_SwitchType , 23, 4|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 2, 0, 4,
     23, 22|128,1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 2, 0, 4,
     0,
    0,
   59|128,1, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 94,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 27,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 2, 0, 4,
     28,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 2, 0, 4,
     29,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 2, 0, 4,
     0,
    89,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 25,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i16_indexed),
                      MVT::f16, 4, 3, 0, 1, 4,
     26,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                      MVT::f32, 4, 3, 0, 1, 4,
     27,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                      MVT::f64, 4, 3, 0, 1, 4,
     0,
    0,
   0,
  95,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_Scope, 57,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_SwitchType , 22, 4|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i32_indexed),
                     MVT::f32, 4, 3, 0, 1, 4,
    22, 22|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv1i64_indexed),
                     MVT::f64, 4, 3, 0, 1, 4,
    0,
   29,
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDHrrr),
                    MVT::f16, 3, 0, 4, 2,
   0,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDHrrr),
                   MVT::f16, 3, 4, 1, 2,
  34,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDSrrr),
                   MVT::f32, 3, 0, 4, 2,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDSrrr),
                   MVT::f32, 3, 4, 1, 2,
  34,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 22|128,1,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i64, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDDrrr),
                   MVT::f64, 3, 0, 4, 2,
  121,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 26,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDDrrr),
                     MVT::f64, 3, 4, 1, 2,
    25,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                     MVT::f64, 4, 3, 2, 0, 4,
    0,
   26,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                    MVT::f16, 4, 3, 2, 0, 4,
   27,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                    MVT::f32, 4, 3, 2, 0, 4,
   0,
  89,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 25,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i16_indexed),
                    MVT::f16, 4, 3, 0, 1, 4,
   26,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i32_indexed),
                    MVT::f32, 4, 3, 0, 1, 4,
   27,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv1i64_indexed),
                    MVT::f64, 4, 3, 0, 1, 4,
   0,
  46,
   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 , 9, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                    MVT::f16, 3, 0, 1, 2,
   8, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                    MVT::f32, 3, 0, 1, 2,
   8, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                    MVT::f64, 3, 0, 1, 2,
   0,
  6|128,1,
   OPC_RecordChild0,
   OPC_Scope, 86,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_Scope, 39,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                      MVT::f16, 3, 1, 0, 2,
     8, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                      MVT::f32, 3, 1, 0, 2,
     8, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                      MVT::f64, 3, 1, 0, 2,
     0,
    38,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                      MVT::f16, 3, 0, 1, 2,
     9, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                      MVT::f32, 3, 0, 1, 2,
     9, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                      MVT::f64, 3, 0, 1, 2,
     0,
    0,
   43,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBHrrr),
                     MVT::f16, 3, 0, 1, 2,
    9, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBSrrr),
                     MVT::f32, 3, 0, 1, 2,
    9, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMSUBDrrr),
                     MVT::f64, 3, 0, 1, 2,
    0,
   0,
  81,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 23, MVT::f16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 0, 1, 2,
    10,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 1, 0, 2,
    0,
   21, MVT::f32,
    OPC_Scope, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 1, 0, 2,
    0,
   21, MVT::f64,
    OPC_Scope, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 1, 0, 2,
    0,
   0,
  83,
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 9, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBHrrr),
                     MVT::f16, 3, 1, 0, 2,
    8, MVT::f32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBSrrr),
                     MVT::f32, 3, 1, 0, 2,
    8, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMSUBDrrr),
                     MVT::f64, 3, 1, 0, 2,
    0,
   38,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDHrrr),
                     MVT::f16, 3, 0, 1, 2,
    9, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDSrrr),
                     MVT::f32, 3, 0, 1, 2,
    9, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMADDDrrr),
                     MVT::f64, 3, 0, 1, 2,
    0,
   0,
  89,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI64,
   OPC_CheckType, 4|128,1,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 23, 2|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 0, 5,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                    2|128,1, 4, 3, 2, 6, 7,
   23, 4|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 4, 0, 5,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                    4|128,1, 4, 3, 2, 6, 7,
   0,
  99|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 84, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 23, 2|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                     2|128,1, 4, 3, 0, 6, 7,
    23, 4|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                     4|128,1, 4, 3, 0, 6, 7,
    0,
   4|128,1, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 42, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 11, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                      MVT::v8f16, 4, 3, 0, 1, 4,
     11, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                      MVT::v4f16, 4, 3, 0, 1, 4,
     0,
    47, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 12, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 3, 0, 1, 4,
     12, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 3, 0, 1, 4,
     0,
    31, TARGET_VAL(AArch64ISD::DUPLANE64),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 3, 0, 1, 4,
    0,
   0,
  126|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 46, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                     MVT::v8f16, 4, 3, 2, 0, 4,
    11, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                     MVT::v4f16, 4, 3, 2, 0, 4,
    0,
   104, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_Scope, 51,
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 12, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 3, 2, 0, 4,
     12, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 3, 2, 0, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, 4|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 11, 2|128,1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 3, 2, 0, 4,
     11, 4|128,1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 3, 2, 0, 4,
     0,
    0,
   73, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_Scope, 35,
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 3, 2, 0, 4,
    34,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, 22|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 3, 2, 0, 4,
    0,
   15|128,2, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 7|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 43, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 11, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 3, 2, 0, 4,
      11, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 3, 2, 0, 4,
      0,
     48, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 12, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 2, 0, 4,
      12, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 2, 0, 4,
      0,
     32, TARGET_VAL(AArch64ISD::DUPLANE64),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 2, 0, 4,
     0,
    2|128,1,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 41, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 11, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 3, 0, 1, 4,
      11, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 3, 0, 1, 4,
      0,
     46, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 12, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 3, 0, 1, 4,
      12, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 3, 0, 1, 4,
      0,
     30, TARGET_VAL(AArch64ISD::DUPLANE64),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 3, 0, 1, 4,
     0,
    0,
   0,
  91,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 48, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, 2|128,1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                     2|128,1, 4, 3, 0, 1, 4,
    11, 4|128,1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                     4|128,1, 4, 3, 0, 1, 4,
    0,
   33, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 22|128,1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 22|128,1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                    22|128,1, 4, 3, 0, 1, 4,
   0,
  4|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 42, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                     MVT::v8f16, 4, 3, 2, 0, 4,
    11, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                     MVT::v4f16, 4, 3, 2, 0, 4,
    0,
   47, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                     2|128,1, 4, 3, 2, 0, 4,
    12, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                     4|128,1, 4, 3, 2, 0, 4,
    0,
   31, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                    22|128,1, 4, 3, 2, 0, 4,
   0,
  43|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                     MVT::v8f16, 4, 3, 0, 1, 4,
    11, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                     MVT::v4f16, 4, 3, 0, 1, 4,
    0,
   46, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                     2|128,1, 4, 3, 0, 1, 4,
    12, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                     4|128,1, 4, 3, 0, 1, 4,
    0,
   30, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                    22|128,1, 4, 3, 0, 1, 4,
   37|128,1, TARGET_VAL(ISD::FNEG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 59,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 24, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                      MVT::v8f16, 4, 2, 0, 5, 6,
     24, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                      MVT::v4f16, 4, 2, 0, 5, 6,
     0,
    63,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 25, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 2, 0, 5, 6,
     25, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 2, 0, 5, 6,
     0,
    33,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 2, 0, 5, 6,
    0,
   0,
  116|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 24|128,2, TARGET_VAL(AArch64ISD::DUP),
    OPC_Scope, 45|128,1,
     OPC_RecordChild0,
     OPC_Scope, 63,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 24, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 2, 1, 5, 6,
      24, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 2, 1, 5, 6,
      0,
     67,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 25, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 2, 1, 5, 6,
      25, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 2, 1, 5, 6,
      0,
     37,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 2, 1, 5, 6,
     0,
    102,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_SwitchType , 60, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 24, 2|128,1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 2, 1, 5, 6,
      24, 4|128,1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 2, 1, 5, 6,
      0,
     31, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 2, 1, 5, 6,
     0,
    0,
   81|128,2, TARGET_VAL(ISD::FNEG),
    OPC_Scope, 40|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
     OPC_RecordChild0,
     OPC_Scope, 60,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 24, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 2, 1, 5, 6,
      24, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 2, 1, 5, 6,
      0,
     64,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 25, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 2, 1, 5, 6,
      25, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 2, 1, 5, 6,
      0,
     34,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 2, 1, 5, 6,
     0,
    35|128,1,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
     OPC_RecordChild0,
     OPC_Scope, 58,
      OPC_CheckChild0Type, MVT::f16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 24, MVT::v8f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 1, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8i16_indexed),
                       MVT::v8f16, 4, 2, 0, 5, 6,
      24, MVT::v4f16,
       OPC_CheckPatternPredicate7,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::v16i8, 3, 3, 1, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i16_indexed),
                       MVT::v4f16, 4, 2, 0, 5, 6,
      0,
     62,
      OPC_CheckChild0Type, MVT::f32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 25, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 1, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                       2|128,1, 4, 2, 0, 5, 6,
      25, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                       MVT::f128, 3, 3, 1, 4,
       OPC_EmitIntegerI64, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                       4|128,1, 4, 2, 0, 5, 6,
      0,
     32,
      OPC_CheckChild0Type, MVT::f64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 22|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                      22|128,1, 4, 2, 0, 5, 6,
     0,
    0,
   0,
  48|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 100, TARGET_VAL(AArch64ISD::DUP),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_SwitchType , 59, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 24, 2|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i32_indexed),
                      2|128,1, 4, 2, 0, 5, 6,
     24, 4|128,1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4i32_indexed),
                      4|128,1, 4, 2, 0, 5, 6,
     0,
    30, MVT::f64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2i64_indexed),
                     22|128,1, 4, 2, 0, 5, 6,
    0,
   66, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 9, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4f16),
                     MVT::v4f16, 3, 2, 0, 1,
    9, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8f16),
                     MVT::v8f16, 3, 2, 0, 1,
    10, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2f32),
                     2|128,1, 3, 2, 0, 1,
    10, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4f32),
                     4|128,1, 3, 2, 0, 1,
    10, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2f64),
                     22|128,1, 3, 2, 0, 1,
    0,
   0,
  110|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 9, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4f16),
                     MVT::v4f16, 3, 2, 1, 0,
    9, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv8f16),
                     MVT::v8f16, 3, 2, 1, 0,
    10, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2f32),
                     2|128,1, 3, 2, 1, 0,
    10, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv4f32),
                     4|128,1, 3, 2, 1, 0,
    10, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLSv2f64),
                     22|128,1, 3, 2, 1, 0,
    0,
   33|128,1, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 59,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 24, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                      MVT::v8f16, 4, 2, 1, 5, 6,
     24, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                      MVT::v4f16, 4, 2, 1, 5, 6,
     0,
    63,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 25, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                      2|128,1, 4, 2, 1, 5, 6,
     25, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                      4|128,1, 4, 2, 1, 5, 6,
     0,
    33,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                     22|128,1, 4, 2, 1, 5, 6,
    0,
   0,
  105|128,1,
   OPC_RecordChild0,
   OPC_Scope, 34|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
    OPC_RecordChild0,
    OPC_Scope, 58,
     OPC_CheckChild0Type, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 24, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv8i16_indexed),
                      MVT::v8f16, 4, 2, 0, 5, 6,
     24, MVT::v4f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i16_indexed),
                      MVT::v4f16, 4, 2, 0, 5, 6,
     0,
    62,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 25, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i32_indexed),
                      2|128,1, 4, 2, 0, 5, 6,
     25, 4|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 1, 4,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4i32_indexed),
                      4|128,1, 4, 2, 0, 5, 6,
     0,
    32,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2i64_indexed),
                     22|128,1, 4, 2, 0, 5, 6,
    0,
   65,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 9, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4f16),
                     MVT::v4f16, 3, 2, 1, 0,
    9, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv8f16),
                     MVT::v8f16, 3, 2, 1, 0,
    10, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2f32),
                     2|128,1, 3, 2, 1, 0,
    10, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv4f32),
                     4|128,1, 3, 2, 1, 0,
    10, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLAv2f64),
                     22|128,1, 3, 2, 1, 0,
    0,
   0,
  0,
 86|128,9, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 44|128,7,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 46|128,3, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_Scope, 31|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 49,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDHrrr),
                      MVT::f16, 3, 5, 7, 3,
     50,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDSrrr),
                      MVT::f32, 3, 5, 7, 3,
     50,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 4,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 2, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDDrrr),
                      MVT::f64, 3, 5, 7, 3,
     0,
    36,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDHrrr),
                     MVT::f16, 3, 1, 5, 3,
    36,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDHrrr),
                     MVT::f16, 3, 5, 2, 3,
    36,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDSrrr),
                     MVT::f32, 3, 1, 5, 3,
    36,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDSrrr),
                     MVT::f32, 3, 5, 2, 3,
    36,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDDrrr),
                     MVT::f64, 3, 1, 5, 3,
    36,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDDrrr),
                     MVT::f64, 3, 5, 2, 3,
    43,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDHrrr),
                      MVT::f16, 3, 1, 2, 3,
     10, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDSrrr),
                      MVT::f32, 3, 1, 2, 3,
     10, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMADDDrrr),
                      MVT::f64, 3, 1, 2, 3,
     0,
    0,
   33|128,3, TARGET_VAL(ISD::FMA),
    OPC_Scope, 28|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_Scope, 48,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                      MVT::f16, 3, 4, 6, 2,
     49,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                      MVT::f32, 3, 4, 6, 2,
     49,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 3,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                      MVT::f64, 3, 4, 6, 2,
     0,
    35,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                     MVT::f16, 3, 0, 4, 2,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                     MVT::f16, 3, 4, 1, 2,
    35,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                     MVT::f32, 3, 0, 4, 2,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                     MVT::f32, 3, 4, 1, 2,
    35,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                     MVT::f64, 3, 0, 4, 2,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                     MVT::f64, 3, 4, 1, 2,
    40,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDHrrr),
                      MVT::f16, 3, 0, 1, 2,
     9, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDSrrr),
                      MVT::f32, 3, 0, 1, 2,
     9, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMADDDrrr),
                      MVT::f64, 3, 0, 1, 2,
     0,
    0,
   40, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMULHrr),
                     MVT::f16, 2, 1, 2,
    9, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMULSrr),
                     MVT::f32, 2, 1, 2,
    9, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FNMULDrr),
                     MVT::f64, 2, 1, 2,
    0,
   36, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULHrr),
                     MVT::f16, 2, 0, 1,
    8, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULSrr),
                     MVT::f32, 2, 0, 1,
    8, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULDrr),
                     MVT::f64, 2, 0, 1,
    0,
   0,
  36|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 68, MVT::f16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGHr),
                     MVT::f16, 1, 0,
    56,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f32, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f32, 3, 1, 0, 2,
     OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
     OPC_EmitIntegerI32, 0|128,0|128,2,
     OPC_EmitNodeXForm, 7, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EORWri),
                     MVT::i32, 2, 5, 7,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 8, 9,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 10, 11,
    0,
   7, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGSr),
                    MVT::f32, 1, 0,
   7, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGDr),
                    MVT::f64, 1, 0,
   56, MVT::bf16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f32, 3, 1, 0, 2,
    OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNodeXForm, 7, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EORWri),
                    MVT::i32, 2, 5, 7,
    OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 8, 9,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::bf16, 2, 10, 11,
   31, MVT::v4f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGv4f16),
                     MVT::v4f16, 1, 0,
    20,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0|128,1,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i16),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                     MVT::v4f16, 2, 0, 3,
    0,
   31, MVT::v8f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGv8f16),
                     MVT::v8f16, 1, 0,
    20,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0|128,1,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv8i16),
                     MVT::f128, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                     MVT::v8f16, 2, 0, 3,
    0,
   8, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGv2f32),
                    2|128,1, 1, 0,
   8, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGv4f32),
                    4|128,1, 1, 0,
   8, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEGv2f64),
                    22|128,1, 1, 0,
   20, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i16),
                    MVT::v4i16, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv8i8),
                    MVT::v4bf16, 2, 0, 3,
   20, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv8i16),
                    MVT::v8i16, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORv16i8),
                    MVT::v8bf16, 2, 0, 3,
   0,
  0,
 52|128,12, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_Scope, 121|128,10,
   OPC_MoveChild0,
   OPC_Scope, 120|128,3,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_Scope, 26|128,3,
     OPC_CheckPredicate2,
     OPC_Scope, 32|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_SwitchType , 76, MVT::f16,
       OPC_CheckPatternPredicate, 66,
       OPC_Scope, 35,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f16, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f16, 3, 6, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                        MVT::f16, 1, 9,
       35,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f16, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f16, 3, 6, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                        MVT::f16, 1, 9,
       0,
      76, MVT::f32,
       OPC_CheckPatternPredicate, 31,
       OPC_Scope, 35,
        OPC_CheckComplexPat, /*CP*/21, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f32, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f32, 3, 6, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                        MVT::f32, 1, 9,
       35,
        OPC_CheckComplexPat, /*CP*/22, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f32, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f32, 3, 6, 7, 8,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                        MVT::f32, 1, 9,
       0,
      0,
     81,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 35,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f32, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f32, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                       MVT::f32, 1, 9,
      35,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f32, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f32, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                       MVT::f32, 1, 9,
      0,
     80,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 35,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 9,
      35,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 9,
      0,
     81,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 35,
       OPC_CheckComplexPat, /*CP*/16, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 9,
      35,
       OPC_CheckComplexPat, /*CP*/17, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 9,
      0,
     0,
    81,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_Scope, 35,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 9,
     35,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 9,
     0,
    0,
   36,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                    MVT::f16, 1, 2,
   96|128,3,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_Scope, 6|128,3,
     OPC_CheckPredicate2,
     OPC_Scope, 24|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_SwitchType , 72, MVT::f16,
       OPC_CheckPatternPredicate, 66,
       OPC_Scope, 33,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f16, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f16, 3, 4, 5, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                        MVT::f16, 1, 7,
       33,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f16, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f16, 3, 4, 5, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                        MVT::f16, 1, 7,
       0,
      72, MVT::f32,
       OPC_CheckPatternPredicate, 31,
       OPC_Scope, 33,
        OPC_CheckComplexPat, /*CP*/20, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f32, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f32, 3, 4, 5, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                        MVT::f32, 1, 7,
       33,
        OPC_CheckComplexPat, /*CP*/19, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f32, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i8, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::bsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f32, 3, 4, 5, 6,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                        MVT::f32, 1, 7,
       0,
      0,
     77,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 33,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f32, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f32, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                       MVT::f32, 1, 7,
      33,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f32, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f32, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                       MVT::f32, 1, 7,
      0,
     76,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 33,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 7,
      33,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 7,
      0,
     77,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_Scope, 33,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 7,
      33,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                       MVT::f64, 1, 7,
      0,
     0,
    77,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_Scope, 33,
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 4, 5, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 7,
     33,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 4, 5, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 7,
     0,
    0,
   12|128,1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 65, MVT::i32,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 2,
     17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 2,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 2,
     0,
    65, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 2,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 2,
     17, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 2,
     0,
    0,
   78,
    OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 21, MVT::i64,
     OPC_CheckChild1Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                     MVT::i64, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                     MVT::f64, 1, 2,
    46, MVT::i32,
     OPC_Scope, 21,
      OPC_CheckChild1Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 2,
     21,
      OPC_CheckChild1Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1f16),
                      MVT::f16, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                      MVT::f16, 1, 2,
     0,
    0,
   74,
    OPC_CheckOpcode, TARGET_VAL(ISD::FP_TO_UINT),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1i64),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                     MVT::f64, 1, 1,
    44, MVT::i32,
     OPC_Scope, 20,
      OPC_CheckChild0Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 1,
     20,
      OPC_CheckChild0Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1f16),
                      MVT::f16, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                      MVT::f16, 1, 1,
     0,
    0,
   76,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_SwitchType , 33, MVT::i32,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 0,
     8, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 0,
     6, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 0,
     0,
    33, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 0,
     8, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 0,
     6, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 0,
     0,
    0,
   0,
  53|128,1,
   OPC_RecordChild0,
   OPC_Scope, 55,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 20, MVT::f16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUWHri),
                      MVT::f16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 0,
     0,
    7, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUWSri),
                     MVT::f32, 1, 0,
    19, MVT::f64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUWDri),
                      MVT::f64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 0,
     0,
    0,
   55,
    OPC_CheckChild0TypeI64,
    OPC_SwitchType , 20, MVT::f16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUXHri),
                      MVT::f16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 0,
     0,
    19, MVT::f32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUXSri),
                      MVT::f32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 0,
     0,
    7, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFUXDri),
                     MVT::f64, 1, 0,
    0,
   11,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv4f16),
                    MVT::v4f16, 1, 0,
   11,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv8f16),
                    MVT::v8f16, 1, 0,
   13,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv2f32),
                    2|128,1, 1, 0,
   13,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv4f32),
                    4|128,1, 1, 0,
   13,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv2f64),
                    22|128,1, 1, 0,
   0,
  0,
 109|128,13, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_Scope, 97|128,11,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67|128,8, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_Scope, 118,
     OPC_CheckPredicate3,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate, 83,
     OPC_Scope, 53,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                      MVT::f128, 2, 9, 10,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 11, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 13,
     53,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i16, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                      MVT::f128, 2, 9, 10,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 11, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 13,
     0,
    117,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 83,
     OPC_Scope, 53,
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                      MVT::f128, 2, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 11, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 13,
     53,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                      MVT::f128, 2, 9, 10,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 11, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 13,
     0,
    41|128,3,
     OPC_CheckPredicate3,
     OPC_Scope, 24|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 83,
      OPC_Scope, 71,
       OPC_CheckComplexPat, /*CP*/21, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                       MVT::f128, 2, 9, 10,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 11, 12,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 13, 14,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 15, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                       MVT::f32, 1, 17,
      71,
       OPC_CheckComplexPat, /*CP*/22, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 4, 2, 3, 4, 5,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 6, 7, 8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                       MVT::f128, 2, 9, 10,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 11, 12,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 13, 14,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 15, 16,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                       MVT::f32, 1, 17,
      0,
     10|128,2,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_SwitchType , 20|128,1, MVT::f64,
       OPC_CheckPatternPredicate, 83,
       OPC_Scope, 71,
        OPC_CheckComplexPat, /*CP*/16, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f64, 3, 6, 7, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                        MVT::f128, 2, 9, 10,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 11, 12,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                        MVT::f128, 2, 13, 14,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 15, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                        MVT::f64, 1, 17,
       71,
        OPC_CheckComplexPat, /*CP*/17, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 4, 2, 3, 4, 5,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f64, 3, 6, 7, 8,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                        MVT::f128, 2, 9, 10,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 11, 12,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                        MVT::f128, 2, 13, 14,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f64, 2, 15, 16,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                        MVT::f64, 1, 17,
       0,
      108, MVT::f32,
       OPC_CheckPatternPredicate, 83,
       OPC_Scope, 51,
        OPC_CheckComplexPat, /*CP*/14, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f64, 3, 4, 5, 6,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                        MVT::f128, 2, 7, 8,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f32, 2, 9, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                        MVT::f32, 1, 11,
       51,
        OPC_CheckComplexPat, /*CP*/13, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f64, 0,
        OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i16, 2, 2, 3,
        OPC_EmitIntegerI32, AArch64::hsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f64, 3, 4, 5, 6,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                        MVT::f128, 2, 7, 8,
        OPC_EmitIntegerI32, AArch64::ssub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::f32, 2, 9, 10,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                        MVT::f32, 1, 11,
       0,
      0,
     0,
    113,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 83,
     OPC_Scope, 51,
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 4, 5, 6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                      MVT::f128, 2, 7, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 9, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 11,
     51,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f64, 0,
      OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f64, 3, 4, 5, 6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                      MVT::f128, 2, 7, 8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f64, 2, 9, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 11,
     0,
    48|128,2,
     OPC_CheckPredicate3,
     OPC_Scope, 20|128,1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 83,
      OPC_Scope, 69,
       OPC_CheckComplexPat, /*CP*/20, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                       MVT::f128, 2, 7, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 9, 10,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 11, 12,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 13, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                       MVT::f32, 1, 15,
      69,
       OPC_CheckComplexPat, /*CP*/19, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i8, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::bsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv8i8_shift),
                       MVT::f128, 2, 7, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 9, 10,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 11, 12,
       OPC_EmitIntegerI32, AArch64::ssub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 13, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                       MVT::f32, 1, 15,
      0,
     21|128,1,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate, 83,
      OPC_Scope, 69,
       OPC_CheckComplexPat, /*CP*/14, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 7, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 9, 10,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                       MVT::f128, 2, 11, 12,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 13, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                       MVT::f64, 1, 15,
      69,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f64, 0,
       OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i16, 2, 2, 3,
       OPC_EmitIntegerI32, AArch64::hsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f64, 3, 4, 5, 6,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv4i16_shift),
                       MVT::f128, 2, 7, 8,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 9, 10,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::SSHLLv2i32_shift),
                       MVT::f128, 2, 11, 12,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f64, 2, 13, 14,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                       MVT::f64, 1, 15,
      0,
     0,
    0,
   35, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i16),
                    MVT::f16, 1, 2,
   9|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 65, MVT::i32,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 2,
     17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 2,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 2,
     0,
    65, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 2,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 2,
     17, MVT::f64,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 2,
     0,
    0,
   75, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 21, MVT::i64,
     OPC_CheckChild1Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::i64, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                     MVT::f64, 1, 2,
    46, MVT::i32,
     OPC_Scope, 21,
      OPC_CheckChild1Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 2,
     21,
      OPC_CheckChild1Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1f16),
                      MVT::f16, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i16),
                      MVT::f16, 1, 2,
     0,
    0,
   71, TARGET_VAL(ISD::FP_TO_SINT),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::i64, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                     MVT::f64, 1, 1,
    44, MVT::i32,
     OPC_Scope, 20,
      OPC_CheckChild0Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 1,
     20,
      OPC_CheckChild0Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1f16),
                      MVT::f16, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i16),
                      MVT::f16, 1, 1,
     0,
    0,
   73, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_SwitchType , 33, MVT::i32,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 0,
     8, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 0,
     6, MVT::f32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 0,
     0,
    33, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 0,
     8, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 0,
     6, MVT::f64,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 0,
     0,
    0,
   0,
  115,
   OPC_RecordChild0,
   OPC_Scope, 55,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 20, MVT::f16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUWHri),
                      MVT::f16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 0,
     0,
    7, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUWSri),
                     MVT::f32, 1, 0,
    19, MVT::f64,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUWDri),
                      MVT::f64, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 0,
     0,
    0,
   55,
    OPC_CheckChild0TypeI64,
    OPC_SwitchType , 20, MVT::f16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUXHri),
                      MVT::f16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 0,
     0,
    19, MVT::f32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUXSri),
                      MVT::f32, 1, 0,
     8,
      OPC_CheckPatternPredicate, 20,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 0,
     0,
    7, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFUXDri),
                     MVT::f64, 1, 0,
    0,
   0,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 162,
   OPC_SwitchType , 13, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2i32_shift),
                    2|128,1, 2, 0, 1,
   13, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4i32_shift),
                    4|128,1, 2, 0, 1,
   13, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2i64_shift),
                    22|128,1, 2, 0, 1,
   11, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4i16_shift),
                    MVT::v4f16, 2, 0, 1,
   11, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv8i16_shift),
                    MVT::v8f16, 2, 0, 1,
   0,
  64,
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4f16),
                    MVT::v4f16, 1, 0,
   9, MVT::v8f16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv8f16),
                    MVT::v8f16, 1, 0,
   10, 2|128,1,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2f32),
                    2|128,1, 1, 0,
   10, 4|128,1,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv4f32),
                    4|128,1, 1, 0,
   10, 22|128,1,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv2f64),
                    22|128,1, 1, 0,
   0,
  0,
 31|128,7, TARGET_VAL(ISD::STRICT_FADD),
  OPC_RecordNode,
  OPC_Scope, 70|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 51,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 22,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i64p),
                     MVT::f64, 1, 1,
    22,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i64p),
                     MVT::f64, 1, 1,
    0,
   69,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 31,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 3,
    31,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 3,
    0,
   68,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i16p),
                     MVT::f16, 1, 3,
    31,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDPv2i16p),
                     MVT::f16, 1, 3,
    0,
   0,
  82|128,5,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 10, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDHrr),
                    MVT::f16, 2, 1, 2,
   9, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDSrr),
                    MVT::f32, 2, 1, 2,
   9, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDDrr),
                    MVT::f64, 2, 1, 2,
   9, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDv4f16),
                    MVT::v4f16, 2, 1, 2,
   106, MVT::v8f16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDv8f16),
                     MVT::v8f16, 2, 1, 2,
    93,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 5,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 8,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 6, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                     MVT::v4f16, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 11, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 14, 15,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                     MVT::v8f16, 2, 13, 16,
    0,
   10, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDv2f32),
                    2|128,1, 2, 1, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDv4f32),
                    4|128,1, 2, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FADDv2f64),
                    22|128,1, 2, 1, 2,
   11|128,4, MVT::v8bf16,
    OPC_Scope, 93,
     OPC_CheckPatternPredicate, 44,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 5,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 8,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 6, 9,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                     MVT::v4bf16, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 11, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 14, 15,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                     MVT::v8bf16, 2, 13, 16,
    41|128,3,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 13,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 14,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 12, 15,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 9, 16,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 18,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 19,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 21,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 22,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 20, 23,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 1, 25,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 27, 28,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 26, 29,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 24, 30,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 32, 33,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 31, 34,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 36,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 37,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 39,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 40,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 38, 41,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 42, 43, 44,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 17, 35, 45,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 47, 48,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 50, 51,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 49, 52,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 54, 55,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 1, 57,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 59, 60,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 58, 61,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 56, 62,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 64, 65,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 63, 66,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 68, 69,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 70, 71, 72,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 53, 67, 73,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                     MVT::v8bf16, 2, 46, 74,
     OPC_CompleteMatch, 1, 75,

    0,
   0,
  0,
 117|128,8, TARGET_VAL(ISD::FADD),
  OPC_Scope, 114|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 49,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 21,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i64p),
                     MVT::f64, 1, 0,
    21,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i64p),
                     MVT::f64, 1, 0,
    0,
   49,
    OPC_CheckChild0Type, 2|128,1,
    OPC_Scope, 21,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 0,
    21,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 0,
    0,
   67,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 30,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 2,
    30,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                     MVT::f32, 1, 2,
    0,
   66,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 30,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i16p),
                     MVT::f16, 1, 2,
    30,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i16p),
                     MVT::f16, 1, 2,
    0,
   0,
  35,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDDrr),
                    MVT::f64, 2, 0, 1,
   0,
  1|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 22, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f64),
                    22|128,1, 2, 0, 1,
   35, TARGET_VAL(AArch64ISD::UZP1),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP2),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_SwitchType , 8, 4|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f32),
                     4|128,1, 2, 0, 1,
    9, MVT::v8f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv8f16),
                     MVT::v8f16, 2, 0, 1,
    0,
   22, TARGET_VAL(AArch64ISD::ZIP2),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ZIP1),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f64),
                    22|128,1, 2, 0, 1,
   35, TARGET_VAL(AArch64ISD::UZP2),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UZP1),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_SwitchType , 8, 4|128,1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f32),
                     4|128,1, 2, 0, 1,
    9, MVT::v8f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv8f16),
                     MVT::v8f16, 2, 0, 1,
    0,
   0,
  86|128,5,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDv4f16),
                    MVT::v4f16, 2, 0, 1,
   104, MVT::v8f16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDv8f16),
                     MVT::v8f16, 2, 0, 1,
    92,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                     MVT::v4f16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                     MVT::v8f16, 2, 12, 15,
    0,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDv2f64),
                    22|128,1, 2, 0, 1,
   9, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_H),
                    66|128,1, 2, 0, 1,
   9, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_S),
                    77|128,1, 2, 0, 1,
   9, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_D),
                    81|128,1, 2, 0, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZZZ),
                    72|128,1, 2, 0, 1,
   6|128,4, MVT::v8bf16,
    OPC_Scope, 92,
     OPC_CheckPatternPredicate, 44,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                     MVT::v4bf16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                     MVT::v8bf16, 2, 12, 15,
    37|128,3,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 3,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 13,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 11, 14,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 8, 15,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 17,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 18,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 20,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 21,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 19, 22,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 24,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 26, 27,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 25, 28,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 23, 29,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 31, 32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 30, 33,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 35,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 36,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 38,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 39,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 37, 40,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 41, 42, 43,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 16, 34, 44,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 46, 47,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 49, 50,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 48, 51,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 53, 54,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 56,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 58, 59,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 57, 60,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 55, 61,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 63, 64,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 62, 65,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FADDv4f32),
                     4|128,1, 2, 67, 68,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 69, 70, 71,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 52, 66, 72,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                     MVT::v8bf16, 2, 45, 73,
    0,
   0,
  0,
 89|128,15, TARGET_VAL(ISD::STRICT_FMUL),
  OPC_RecordNode,
  OPC_Scope, 26|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 88,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_Scope, 41,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i16_indexed),
                     MVT::f16, 3, 5, 2, 6,
    41,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 3, 4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i16_indexed),
                     MVT::f16, 3, 5, 1, 6,
    0,
   91,
    OPC_CheckChild0Type, 4|128,1,
    OPC_Scope, 42,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i32_indexed),
                     MVT::f32, 3, 5, 2, 6,
    42,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i32_indexed),
                     MVT::f32, 3, 5, 1, 6,
    0,
   93,
    OPC_CheckChild0Type, 22|128,1,
    OPC_Scope, 43,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i64_indexed),
                     MVT::f64, 3, 5, 2, 6,
    43,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 3, 4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i64_indexed),
                     MVT::f64, 3, 5, 1, 6,
    0,
   0,
  90,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULHrr),
                    MVT::f16, 2, 1, 4,
   26,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULSrr),
                    MVT::f32, 2, 1, 4,
   26,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULDrr),
                    MVT::f64, 2, 1, 4,
   0,
  92,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 28,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 1, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULHrr),
                    MVT::f16, 2, 2, 4,
   27,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULSrr),
                    MVT::f32, 2, 2, 4,
   27,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 1, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULDrr),
                    MVT::f64, 2, 2, 4,
   0,
  86,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 24,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i16_indexed),
                    MVT::f16, 3, 1, 2, 4,
   25,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i32_indexed),
                    MVT::f32, 3, 1, 2, 4,
   26,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i64_indexed),
                    MVT::f64, 3, 1, 2, 4,
   0,
  88,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 25,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i16_indexed),
                    MVT::f16, 3, 3, 1, 4,
   26,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i32_indexed),
                    MVT::f32, 3, 3, 1, 4,
   27,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv1i64_indexed),
                    MVT::f64, 3, 3, 1, 4,
   0,
  116,
   OPC_RecordChild1,
   OPC_Scope, 37,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULHrr),
                     MVT::f16, 2, 1, 2,
    9, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULSrr),
                     MVT::f32, 2, 1, 2,
    9, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULDrr),
                     MVT::f64, 2, 1, 2,
    0,
   74,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 29, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 1, 2, 4,
    32, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 1, 2, 4,
    0,
   0,
  76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 30, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i16_indexed),
                    MVT::v4f16, 3, 3, 1, 4,
   33, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                    2|128,1, 3, 3, 1, 4,
   0,
  127,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 40, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 11, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 1, 2, 4,
    11, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv8i16_indexed),
                     MVT::v8f16, 3, 1, 2, 4,
    0,
   45, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 12, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 1, 2, 4,
    12, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 1, 2, 4,
    0,
   29, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 1, 2, 4,
   0,
  1|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 11, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 3, 1, 4,
    11, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv8i16_indexed),
                     MVT::v8f16, 3, 3, 1, 4,
    0,
   46, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 3, 1, 4,
    12, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 3, 1, 4,
    0,
   30, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 3, 1, 4,
   0,
  108,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
   OPC_RecordChild0,
   OPC_Scope, 65,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 27, 2|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 2, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 1, 5, 6,
    27, 4|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 2, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 1, 5, 6,
    0,
   33,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 3, 2, 4,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 1, 5, 6,
   0,
  109,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
   OPC_RecordChild0,
   OPC_Scope, 66,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 27, 2|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 1, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 2, 5, 6,
    27, 4|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 3, 1, 4,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 2, 5, 6,
    0,
   34,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 22|128,1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 3, 1, 4,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 2, 5, 6,
   0,
  48|128,5,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4f16),
                    MVT::v4f16, 2, 1, 2,
   106, MVT::v8f16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv8f16),
                     MVT::v8f16, 2, 1, 2,
    93,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 5,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 8,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 6, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                     MVT::v4f16, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 11, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 14, 15,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                     MVT::v8f16, 2, 13, 16,
    0,
   10, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2f32),
                    2|128,1, 2, 1, 2,
   10, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv4f32),
                    4|128,1, 2, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMULv2f64),
                    22|128,1, 2, 1, 2,
   11|128,4, MVT::v8bf16,
    OPC_Scope, 93,
     OPC_CheckPatternPredicate, 44,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 5,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 8,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 6, 9,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                     MVT::v4bf16, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 11, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 14, 15,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                     MVT::v8bf16, 2, 13, 16,
    41|128,3,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 13,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 14,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 12, 15,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 9, 16,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 18,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 19,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 21,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 22,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 20, 23,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 1, 25,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 27, 28,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 26, 29,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 24, 30,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 32, 33,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 31, 34,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 36,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 37,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 39,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 40,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 38, 41,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 42, 43, 44,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 17, 35, 45,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 47, 48,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 50, 51,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 49, 52,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 54, 55,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 1, 57,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 59, 60,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 58, 61,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 56, 62,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 64, 65,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 63, 66,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 68, 69,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 70, 71, 72,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 53, 67, 73,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                     MVT::v8bf16, 2, 46, 74,
     OPC_CompleteMatch, 1, 75,

    0,
   0,
  0,
 26|128,25, TARGET_VAL(ISD::FMUL),
  OPC_Scope, 47|128,5,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 16|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 86,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 40,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i16_indexed),
                      MVT::f16, 3, 4, 1, 5,
     40,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8f16,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate7,
      OPC_EmitIntegerI32, AArch64::hsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f16, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i16_indexed),
                      MVT::f16, 3, 4, 0, 5,
     0,
    89,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 41,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i32_indexed),
                      MVT::f32, 3, 4, 1, 5,
     41,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i32_indexed),
                      MVT::f32, 3, 4, 0, 5,
     0,
    91,
     OPC_CheckChild0Type, 22|128,1,
     OPC_Scope, 42,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i64_indexed),
                      MVT::f64, 3, 4, 1, 5,
     42,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 11,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 22|128,1,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 2, 3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i64_indexed),
                      MVT::f64, 3, 4, 0, 5,
     0,
    0,
   103, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 48,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 1, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 1, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 1, 3,
     0,
    48,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 1, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 1, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 1, 3,
     0,
    0,
   95, TARGET_VAL(ISD::SINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 45,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 0, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 0, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 0, 2,
     0,
    45,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 0, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 0, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 0, 2,
     0,
    0,
   103, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 48,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 1, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 1, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 1, 3,
     0,
    48,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 1, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 1, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 1, 3,
     0,
    0,
   95, TARGET_VAL(ISD::UINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 45,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 0, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 0, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 0, 2,
     0,
    45,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 0, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 0, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 0, 2,
     0,
    0,
   0,
  105|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 101, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 47,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 2, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 2, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 2, 3,
     0,
    47,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 2, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 2, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 2, 3,
     0,
    0,
   93, TARGET_VAL(ISD::SINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 44,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 1, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 1, 2,
     0,
    44,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 1, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 1, 2,
     0,
    0,
   101, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 47,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 2, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 2, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 2, 3,
     0,
    47,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 2, 3,
     12, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 2, 3,
     12, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/0,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 2, 3,
     0,
    0,
   93, TARGET_VAL(ISD::UINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 44,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/85, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/86, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 1, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/87, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 1, 2,
     0,
    44,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 12, MVT::f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat, /*CP*/88, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 1, 2,
     11, MVT::f32,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/89, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 1, 2,
     11, MVT::f64,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat, /*CP*/90, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 1, 2,
     0,
    0,
   82, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULHrr),
                     MVT::f16, 2, 0, 3,
    25,
     OPC_CheckChild0Type, 4|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULSrr),
                     MVT::f32, 2, 0, 3,
    25,
     OPC_CheckChild0Type, 22|128,1,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i64, 2, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULDrr),
                     MVT::f64, 2, 0, 3,
    0,
   0,
  89,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULHrr),
                    MVT::f16, 2, 1, 3,
   26,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::f32,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULSrr),
                    MVT::f32, 2, 1, 3,
   26,
    OPC_CheckChild0Type, 22|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::f64,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULDrr),
                    MVT::f64, 2, 1, 3,
   0,
  83,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 23,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i16_indexed),
                    MVT::f16, 3, 0, 1, 3,
   24,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i32_indexed),
                    MVT::f32, 3, 0, 1, 3,
   25,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i64_indexed),
                    MVT::f64, 3, 0, 1, 3,
   0,
  124,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 81, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 24,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i16_indexed),
                     MVT::f16, 3, 2, 0, 3,
    25,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::f32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i32_indexed),
                     MVT::f32, 3, 2, 0, 3,
    26,
     OPC_CheckChild0Type, 22|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv1i64_indexed),
                     MVT::f64, 3, 2, 0, 3,
    0,
   34, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 9, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULHrr),
                     MVT::f16, 2, 0, 1,
    7, MVT::f32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULSrr),
                     MVT::f32, 2, 0, 1,
    7, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULDrr),
                     MVT::f64, 2, 0, 1,
    0,
   0,
  21|128,1,
   OPC_RecordChild0,
   OPC_Scope, 37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULHrr),
                     MVT::f16, 2, 1, 0,
    7, MVT::f32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULSrr),
                     MVT::f32, 2, 1, 0,
    7, MVT::f64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMULDrr),
                     MVT::f64, 2, 1, 0,
    0,
   34,
    OPC_RecordChild1,
    OPC_SwitchType , 9, MVT::f16,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULHrr),
                     MVT::f16, 2, 0, 1,
    8, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULSrr),
                     MVT::f32, 2, 0, 1,
    8, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULDrr),
                     MVT::f64, 2, 0, 1,
    0,
   72,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 28, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 0, 1, 3,
    31, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 0, 1, 3,
    0,
   0,
  74,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 29, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i16_indexed),
                    MVT::v4f16, 3, 2, 0, 3,
   32, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                    2|128,1, 3, 2, 0, 3,
   0,
  113,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_H),
                    66|128,1, 3, 0, 1, 2,
   24,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_S),
                    77|128,1, 3, 0, 1, 2,
   25,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 0, 1, 2,
   25,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZI),
                    72|128,1, 3, 0, 1, 2,
   0,
  116,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_H),
                    66|128,1, 3, 2, 0, 1,
   25,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_S),
                    77|128,1, 3, 2, 0, 1,
   26,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 2, 0, 1,
   26,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZI),
                    72|128,1, 3, 2, 0, 1,
   0,
  122,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 38, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 10, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 0, 1, 3,
    10, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv8i16_indexed),
                     MVT::v8f16, 3, 0, 1, 3,
    0,
   43, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 11, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 0, 1, 3,
    11, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 0, 1, 3,
    0,
   28, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 0, 1, 3,
   0,
  124,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 39, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 10, MVT::v4f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i16_indexed),
                     MVT::v4f16, 3, 2, 0, 3,
    10, MVT::v8f16,
     OPC_CheckPatternPredicate7,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv8i16_indexed),
                     MVT::v8f16, 3, 2, 0, 3,
    0,
   44, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 11, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 2, 0, 3,
    11, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 2, 0, 3,
    0,
   29, TARGET_VAL(AArch64ISD::DUPLANE64),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 2, 0, 3,
   0,
  48,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 19, TARGET_VAL(AArch64ISD::TRN1),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 0, 1, 2,
   19, TARGET_VAL(AArch64ISD::TRN2),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  49,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 20, TARGET_VAL(AArch64ISD::TRN1),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 1, 0, 2,
   20, TARGET_VAL(AArch64ISD::TRN2),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 1, 0, 2,
   0,
  105,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 26, 2|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 0, 4, 5,
    26, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 1, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 0, 4, 5,
    0,
   32,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 2, 1, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 0, 4, 5,
   0,
  106,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
   OPC_RecordChild0,
   OPC_Scope, 64,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 26, 2|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i32_indexed),
                     2|128,1, 3, 1, 4, 5,
    26, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4i32_indexed),
                     4|128,1, 3, 1, 4, 5,
    0,
   33,
    OPC_CheckChild0Type, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 22|128,1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 2, 0, 3,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2i64_indexed),
                    22|128,1, 3, 1, 4, 5,
   0,
  86|128,5,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4f16),
                    MVT::v4f16, 2, 0, 1,
   104, MVT::v8f16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv8f16),
                     MVT::v8f16, 2, 0, 1,
    92,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                     MVT::v4f16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                     MVT::v8f16, 2, 12, 15,
    0,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMULv2f64),
                    22|128,1, 2, 0, 1,
   9, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_H),
                    66|128,1, 2, 0, 1,
   9, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_S),
                    77|128,1, 2, 0, 1,
   9, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_D),
                    81|128,1, 2, 0, 1,
   10, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZ),
                    72|128,1, 2, 0, 1,
   6|128,4, MVT::v8bf16,
    OPC_Scope, 92,
     OPC_CheckPatternPredicate, 44,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                     MVT::v4bf16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                     MVT::v8bf16, 2, 12, 15,
    37|128,3,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 3,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 13,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 11, 14,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 8, 15,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 17,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 18,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 20,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 21,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 19, 22,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 24,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 26, 27,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 25, 28,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 23, 29,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 31, 32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 30, 33,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 35,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 36,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 38,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 39,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 37, 40,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 41, 42, 43,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 16, 34, 44,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 46, 47,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 49, 50,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 48, 51,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 53, 54,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 56,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 58, 59,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 57, 60,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 55, 61,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 63, 64,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 62, 65,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FMULv4f32),
                     4|128,1, 2, 67, 68,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 69, 70, 71,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 52, 66, 72,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                     MVT::v8bf16, 2, 45, 73,
    0,
   0,
  0,
 107, TARGET_VAL(AArch64ISD::SQDMULH),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, MVT::f32,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv1i32_indexed),
                    MVT::f32, 3, 0, 1, 3,
   11,
    OPC_RecordChild1,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv1i32),
                    MVT::f32, 2, 0, 1,
   0,
  12,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i16),
                   MVT::v4i16, 2, 0, 1,
  12,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv2i32),
                   MVT::v2i32, 2, 0, 1,
  12,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv8i16),
                   MVT::v8i16, 2, 0, 1,
  12,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULHv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 50, TARGET_VAL(AArch64ISD::SQRDMULH),
  OPC_RecordChild0,
  OPC_Scope, 34,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv1i32_indexed),
                   MVT::f32, 3, 0, 1, 3,
  11,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMULHv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 55, TARGET_VAL(AArch64ISD::SQRDMLAH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 39,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv1i32_indexed),
                   MVT::f32, 4, 0, 1, 2, 4,
  13,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 94,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLAHv1i32),
                   MVT::f32, 3, 0, 1, 2,
  0,
 55, TARGET_VAL(AArch64ISD::SQRDMLSH),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 36,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 39,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv1i32_indexed),
                   MVT::f32, 4, 0, 1, 2, 4,
  13,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate, 94,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRDMLSHv1i32),
                   MVT::f32, 3, 0, 1, 2,
  0,
 69|128,8, TARGET_VAL(ISD::FDIV),
  OPC_Scope, 123|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 95, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 44,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckComplexPat, /*CP*/38, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 1, 3,
     11, MVT::f32,
      OPC_CheckComplexPat, /*CP*/40, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 1, 3,
     11, MVT::f64,
      OPC_CheckComplexPat, /*CP*/42, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 1, 3,
     0,
    44,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckComplexPat, /*CP*/39, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 1, 3,
     11, MVT::f32,
      OPC_CheckComplexPat, /*CP*/41, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 1, 3,
     11, MVT::f64,
      OPC_CheckComplexPat, /*CP*/43, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 1, 3,
     0,
    0,
   87, TARGET_VAL(ISD::SINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 41,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckComplexPat, /*CP*/38, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWHri),
                      MVT::f16, 2, 0, 2,
     10, MVT::f32,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWSri),
                      MVT::f32, 2, 0, 2,
     10, MVT::f64,
      OPC_CheckComplexPat, /*CP*/42, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSWDri),
                      MVT::f64, 2, 0, 2,
     0,
    41,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckComplexPat, /*CP*/39, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXHri),
                      MVT::f16, 2, 0, 2,
     10, MVT::f32,
      OPC_CheckComplexPat, /*CP*/41, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXSri),
                      MVT::f32, 2, 0, 2,
     10, MVT::f64,
      OPC_CheckComplexPat, /*CP*/43, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFSXDri),
                      MVT::f64, 2, 0, 2,
     0,
    0,
   95, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_Scope, 44,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckComplexPat, /*CP*/39, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 1, 3,
     11, MVT::f32,
      OPC_CheckComplexPat, /*CP*/41, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 1, 3,
     11, MVT::f64,
      OPC_CheckComplexPat, /*CP*/43, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 1, 3,
     0,
    44,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckComplexPat, /*CP*/38, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 1, 3,
     11, MVT::f32,
      OPC_CheckComplexPat, /*CP*/40, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 1, 3,
     11, MVT::f64,
      OPC_CheckComplexPat, /*CP*/42, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 1, 3,
     0,
    0,
   87, TARGET_VAL(ISD::UINT_TO_FP),
    OPC_RecordChild0,
    OPC_Scope, 41,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckComplexPat, /*CP*/39, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXHri),
                      MVT::f16, 2, 0, 2,
     10, MVT::f32,
      OPC_CheckComplexPat, /*CP*/41, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXSri),
                      MVT::f32, 2, 0, 2,
     10, MVT::f64,
      OPC_CheckComplexPat, /*CP*/43, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSXDri),
                      MVT::f64, 2, 0, 2,
     0,
    41,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckComplexPat, /*CP*/38, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWHri),
                      MVT::f16, 2, 0, 2,
     10, MVT::f32,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWSri),
                      MVT::f32, 2, 0, 2,
     10, MVT::f64,
      OPC_CheckComplexPat, /*CP*/42, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFSWDri),
                      MVT::f64, 2, 0, 2,
     0,
    0,
   0,
  68|128,5,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVDrr),
                    MVT::f64, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVv4f16),
                    MVT::v4f16, 2, 0, 1,
   104, MVT::v8f16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVv8f16),
                     MVT::v8f16, 2, 0, 1,
    92,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                     MVT::v4f16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                     MVT::v8f16, 2, 12, 15,
    0,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIVv2f64),
                    22|128,1, 2, 0, 1,
   6|128,4, MVT::v8bf16,
    OPC_Scope, 92,
     OPC_CheckPatternPredicate, 44,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 4,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 5, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                     MVT::v4bf16, 1, 9,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 10, 11,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 13, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                     MVT::v8bf16, 2, 12, 15,
    37|128,3,
     OPC_CheckPatternPredicate, 45,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 3,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 5,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 4, 7,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 10,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 12,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 13,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 11, 14,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 8, 15,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 17,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 18,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 20,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 21,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 19, 22,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 24,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 26, 27,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 25, 28,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 23, 29,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 31, 32,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 30, 33,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 35,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 36,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 38,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 39,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 37, 40,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 41, 42, 43,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 16, 34, 44,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 46, 47,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 49, 50,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                     MVT::f128, 2, 48, 51,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 53, 54,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                     MVT::f128, 2, 0, 56,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                     MVT::f128, 2, 58, 59,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                     MVT::f128, 2, 57, 60,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 55, 61,
     OPC_EmitIntegerI32, 127|128,0,
     OPC_EmitIntegerI32, 8|128,2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                     MVT::f128, 2, 63, 64,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                     MVT::f128, 2, 62, 65,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::FDIVv4f32),
                     4|128,1, 2, 67, 68,
     OPC_EmitIntegerI32, 64|128,0,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                     MVT::f128, 3, 69, 70, 71,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                     MVT::f128, 3, 52, 66, 72,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                     MVT::v8bf16, 2, 45, 73,
    0,
   0,
  0,
 71|128,4, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 124|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 103, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 48, MVT::i32,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 3,
     18, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 3,
     0,
    48, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 3,
     18, MVT::f32,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 3,
     0,
    0,
   94, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 27, MVT::i64,
     OPC_CheckChild1Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::i64, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i64),
                     MVT::f64, 1, 3,
     OPC_CompleteMatch, 1, 4,

    58, MVT::i32,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 3,
      OPC_CompleteMatch, 1, 4,

     27,
      OPC_CheckChild1Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1f16),
                      MVT::f16, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i16),
                      MVT::f16, 1, 3,
      OPC_CompleteMatch, 1, 4,

     0,
    0,
   83, TARGET_VAL(ISD::FP_TO_SINT),
    OPC_RecordChild0,
    OPC_SwitchType , 24, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i64),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i64),
                     MVT::f64, 1, 2,
     OPC_CompleteMatch, 1, 3,

    52, MVT::i32,
     OPC_Scope, 24,
      OPC_CheckChild0Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1i32),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 2,
      OPC_CompleteMatch, 1, 3,

     24,
      OPC_CheckChild0Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZSv1f16),
                      MVT::f16, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i16),
                      MVT::f16, 1, 2,
      OPC_CompleteMatch, 1, 3,

     0,
    0,
   85, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_SwitchType , 39, MVT::i32,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 1,
     9, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 1,
     10, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i32),
                      MVT::f32, 1, 1,
      OPC_CompleteMatch, 1, 2,

     0,
    39, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 1,
     9, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 1,
     10, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SCVTFv1i64),
                      MVT::f64, 1, 1,
      OPC_CompleteMatch, 1, 2,

     0,
    0,
   0,
  68|128,1,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 22, MVT::f16,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUWHri),
                      MVT::f16, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHSr),
                      MVT::f16, 1, 1,
     0,
    8, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUWSri),
                     MVT::f32, 1, 1,
    21, MVT::f64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUWDri),
                      MVT::f64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFDSr),
                      MVT::f64, 1, 1,
     0,
    0,
   60,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 22, MVT::f16,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUXHri),
                      MVT::f16, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFHDr),
                      MVT::f16, 1, 1,
     0,
    21, MVT::f32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUXSri),
                      MVT::f32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFSDr),
                      MVT::f32, 1, 1,
     0,
    8, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFUXDri),
                     MVT::f64, 1, 1,
    0,
   12,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFv4f16),
                    MVT::v4f16, 1, 1,
   12,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFv8f16),
                    MVT::v8f16, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFv2f32),
                    2|128,1, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFv4f32),
                    4|128,1, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SCVTFv2f64),
                    22|128,1, 1, 1,
   0,
  0,
 71|128,4, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 124|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 103, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_SwitchType , 48, MVT::i32,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 3,
     18, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 3,
     0,
    48, MVT::i64,
     OPC_CheckChild0Type, MVT::v2i64,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::f16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 3,
     18, MVT::f32,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i64, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 3,
     0,
    0,
   94, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 27, MVT::i64,
     OPC_CheckChild1Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                     MVT::i64, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i64),
                     MVT::f64, 1, 3,
     OPC_CompleteMatch, 1, 4,

    58, MVT::i32,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 3,
      OPC_CompleteMatch, 1, 4,

     27,
      OPC_CheckChild1Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1f16),
                      MVT::f16, 1, 2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i16),
                      MVT::f16, 1, 3,
      OPC_CompleteMatch, 1, 4,

     0,
    0,
   83, TARGET_VAL(ISD::FP_TO_UINT),
    OPC_RecordChild0,
    OPC_SwitchType , 24, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_CheckPredicate4,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i64),
                     MVT::i64, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i64),
                     MVT::f64, 1, 2,
     OPC_CompleteMatch, 1, 3,

    52, MVT::i32,
     OPC_Scope, 24,
      OPC_CheckChild0Type, MVT::f32,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1i32),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 2,
      OPC_CompleteMatch, 1, 3,

     24,
      OPC_CheckChild0Type, MVT::f16,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckType, MVT::f16,
      OPC_CheckPatternPredicate, 66,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(AArch64::FCVTZUv1f16),
                      MVT::f16, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i16),
                      MVT::f16, 1, 2,
      OPC_CompleteMatch, 1, 3,

     0,
    0,
   85, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_SwitchType , 39, MVT::i32,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f64,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 1,
     9, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 1,
     10, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i32),
                      MVT::f32, 1, 1,
      OPC_CompleteMatch, 1, 2,

     0,
    39, MVT::i64,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_SwitchType , 9, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 1,
     9, MVT::f32,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 1,
     10, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UCVTFv1i64),
                      MVT::f64, 1, 1,
      OPC_CompleteMatch, 1, 2,

     0,
    0,
   0,
  68|128,1,
   OPC_RecordChild1,
   OPC_Scope, 60,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 22, MVT::f16,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUWHri),
                      MVT::f16, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHSr),
                      MVT::f16, 1, 1,
     0,
    8, MVT::f32,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUWSri),
                     MVT::f32, 1, 1,
    21, MVT::f64,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUWDri),
                      MVT::f64, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFDSr),
                      MVT::f64, 1, 1,
     0,
    0,
   60,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 22, MVT::f16,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUXHri),
                      MVT::f16, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFHDr),
                      MVT::f16, 1, 1,
     0,
    21, MVT::f32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate6,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUXSri),
                      MVT::f32, 1, 1,
     9,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFSDr),
                      MVT::f32, 1, 1,
     0,
    8, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFUXDri),
                     MVT::f64, 1, 1,
    0,
   12,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFv4f16),
                    MVT::v4f16, 1, 1,
   12,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFv8f16),
                    MVT::v8f16, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFv2f32),
                    2|128,1, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFv4f32),
                    4|128,1, 1, 1,
   14,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckType, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::UCVTFv2f64),
                    22|128,1, 1, 1,
   0,
  0,
 30, TARGET_VAL(AArch64ISD::MOVIedit),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 7, MVT::f64,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                   MVT::f64, 1, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                   MVT::v2i64, 1, 1,
  0,
 126|128,2, TARGET_VAL(ISD::FABS),
  OPC_Scope, 39,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FSUB),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 8, MVT::f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD16),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD32),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD64),
                    MVT::f64, 2, 0, 1,
   0,
  21|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 68, MVT::f16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSHr),
                     MVT::f16, 1, 0,
    56,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f32, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f32, 3, 1, 0, 2,
     OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
     OPC_EmitIntegerI32, 127|128,127|128,1,
     OPC_EmitNodeXForm, 7, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::ANDWri),
                     MVT::i32, 2, 5, 7,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 8, 9,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 10, 11,
    0,
   7, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSSr),
                    MVT::f32, 1, 0,
   7, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSDr),
                    MVT::f64, 1, 0,
   56, MVT::bf16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f32, 3, 1, 0, 2,
    OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, 127|128,127|128,1,
    OPC_EmitNodeXForm, 7, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDWri),
                    MVT::i32, 2, 5, 7,
    OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 8, 9,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::bf16, 2, 10, 11,
   0,
  65,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FSUB),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv2f64),
                    22|128,1, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABDv8f16),
                    MVT::v8f16, 2, 0, 1,
   0,
  122,
   OPC_RecordChild0,
   OPC_SwitchType , 25, MVT::v4f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSv4f16),
                     MVT::v4f16, 1, 0,
    14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0|128,1,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv4i16),
                     MVT::v4f16, 3, 0, 1, 2,
    0,
   25, MVT::v8f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSv8f16),
                     MVT::v8f16, 1, 0,
    14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0|128,1,
     OPC_EmitIntegerI32, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i16),
                     MVT::v8f16, 3, 0, 1, 2,
    0,
   8, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSv2f32),
                    2|128,1, 1, 0,
   8, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSv4f32),
                    4|128,1, 1, 0,
   8, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABSv2f64),
                    22|128,1, 1, 0,
   14, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv4i16),
                    MVT::v4bf16, 3, 0, 1, 2,
   14, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i16),
                    MVT::v8bf16, 3, 0, 1, 2,
   0,
  0,
 101|128,1, TARGET_VAL(ISD::ConstantFP),
  OPC_Scope, 35,
   OPC_CheckPredicate, 32,
   OPC_SwitchType , 6, MVT::f16,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVH0),
                    MVT::f16, 0,
   6, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVS0),
                    MVT::f32, 0,
   6, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVD0),
                    MVT::f64, 0,
   5, MVT::bf16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVH0),
                    MVT::bf16, 0,
   0,
  61|128,1,
   OPC_RecordNode,
   OPC_SwitchType , 35, MVT::f16,
    OPC_Scope, 14,
     OPC_CheckPredicate, 95,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 28, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVHi),
                     MVT::f16, 1, 2,
    17,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNodeXForm, 29, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVWHr),
                     MVT::f16, 1, 2,
    0,
   60, MVT::f32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 137,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 30, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVSi),
                     MVT::f32, 1, 2,
    24,
     OPC_CheckPredicate, 163,
     OPC_CheckPatternPredicate1,
     OPC_EmitNodeXForm, 31, 0,
     OPC_EmitIntegerI32, 24,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2i32),
                     MVT::i64, 2, 1, 2,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    18,
     OPC_EmitNodeXForm, 29, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 1,
     OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 2, 3,
    0,
   49, MVT::f64,
    OPC_Scope, 13,
     OPC_CheckPredicate, 143,
     OPC_CheckPatternPredicate6,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVDi),
                     MVT::f64, 1, 2,
    13,
     OPC_CheckPredicate, 164,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 33, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                     MVT::f64, 1, 2,
    18,
     OPC_EmitNodeXForm, 34, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                     MVT::i64, 1, 1,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f64, 2, 2, 3,
    0,
   34, MVT::bf16,
    OPC_Scope, 13,
     OPC_CheckPredicate, 95,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNodeXForm, 28, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVHi),
                     MVT::bf16, 1, 1,
    17,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitNodeXForm, 29, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVWHr),
                     MVT::bf16, 1, 2,
    0,
   0,
  0,
 55|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_FADD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::f16,
   OPC_CheckPredicate, 125,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDAH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDLH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   0,
  74, MVT::f32,
   OPC_CheckPredicate, 126,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDAS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDLS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   0,
  74, MVT::f64,
   OPC_CheckPredicate, 127,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDAD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFADDALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   0,
  74, MVT::bf16,
   OPC_CheckPredicate, 128,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFADD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFADDA), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFADDL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFADDAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFADDAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   0,
  0,
 55|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_FMAX),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::f16,
   OPC_CheckPredicate, 125,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMAH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMLH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   0,
  74, MVT::f32,
   OPC_CheckPredicate, 126,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMAS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMLS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   0,
  74, MVT::f64,
   OPC_CheckPredicate, 127,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMAD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXNMALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   0,
  74, MVT::bf16,
   OPC_CheckPredicate, 128,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXNM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXNMA), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXNML), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXNMAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXNMAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   0,
  0,
 55|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_FMIN),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::f16,
   OPC_CheckPredicate, 125,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMAH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMLH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   0,
  74, MVT::f32,
   OPC_CheckPredicate, 126,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMAS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMLS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   0,
  74, MVT::f64,
   OPC_CheckPredicate, 127,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMAD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINNMALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   0,
  74, MVT::bf16,
   OPC_CheckPredicate, 128,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINNM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINNMA), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINNML), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINNMAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINNMAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   0,
  0,
 55|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_FMAXIMUM),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::f16,
   OPC_CheckPredicate, 125,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXAH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXLH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   0,
  74, MVT::f32,
   OPC_CheckPredicate, 126,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXAS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXLS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   0,
  74, MVT::f64,
   OPC_CheckPredicate, 127,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXAD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMAXALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   0,
  74, MVT::bf16,
   OPC_CheckPredicate, 128,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAX), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXA), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMAXAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   0,
  0,
 55|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_FMINIMUM),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI64,
  OPC_RecordChild2,
  OPC_SwitchType , 74, MVT::f16,
   OPC_CheckPredicate, 125,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINAH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINLH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 2, 2, 1,
   0,
  74, MVT::f32,
   OPC_CheckPredicate, 126,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINAS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINLS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 1,
   0,
  74, MVT::f64,
   OPC_CheckPredicate, 127,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMIND), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINAD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINLD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDFMINALD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 1,
   0,
  74, MVT::bf16,
   OPC_CheckPredicate, 128,
   OPC_Scope, 13,
    OPC_CheckPredicate, 26,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMIN), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 18,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINA), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 27,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 28,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   13,
    OPC_CheckPredicate, 21,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDBFMINAL), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 2, 2, 1,
   0,
  0,
 67|128,10, TARGET_VAL(AArch64ISD::NVCAST),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  52,
   OPC_CheckChild0Type, 2|128,1,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  52,
   OPC_CheckChild0Type, 21|128,1,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  51,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

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

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

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

   3, MVT::v1i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4bf16,
    OPC_CompleteMatch, 1, 0,

   3, 2|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 21|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  47,
   OPC_CheckChild0Type, 4|128,1,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  46,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  47,
   OPC_CheckChild0Type, 22|128,1,
   OPC_SwitchType , 3, MVT::v16i8,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8f16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8bf16,
    OPC_CompleteMatch, 1, 0,

   3, 4|128,1,
    OPC_CompleteMatch, 1, 0,

   3, 22|128,1,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 42|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 48|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 53|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 58|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 66|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 77|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 81|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  61,
   OPC_CheckChild0Type, 72|128,1,
   OPC_SwitchType , 4, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   4, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CompleteMatch, 1, 0,

   0,
  0,
 106, TARGET_VAL(ISD::STRICT_FP_ROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 25,
   OPC_CheckChild1Type, MVT::f32,
   OPC_SwitchType , 9, MVT::bf16,
    OPC_CheckPatternPredicate, 104,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVT),
                    MVT::bf16, 1, 1,
   8, MVT::f16,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTHSr),
                    MVT::f16, 1, 1,
   0,
  41,
   OPC_CheckChild1Type, MVT::f64,
   OPC_SwitchType , 8, MVT::f16,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTHDr),
                    MVT::f16, 1, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTSDr),
                    MVT::f32, 1, 1,
   15, MVT::bf16,
    OPC_CheckPatternPredicate, 104,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTXNv1i64),
                    MVT::i32, 1, 1,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVT),
                    MVT::bf16, 1, 2,
   0,
  11,
   OPC_CheckType, MVT::v4bf16,
   OPC_CheckPatternPredicate, 58,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN),
                   MVT::v4bf16, 1, 1,
  11,
   OPC_CheckType, 2|128,1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv2i32),
                   2|128,1, 1, 1,
  9,
   OPC_CheckType, MVT::v4f16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv4i16),
                   MVT::v4f16, 1, 1,
  0,
 97, TARGET_VAL(ISD::FP_ROUND),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 8, MVT::bf16,
    OPC_CheckPatternPredicate, 104,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT),
                    MVT::bf16, 1, 0,
   7, MVT::f16,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTHSr),
                    MVT::f16, 1, 0,
   0,
  38,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 7, MVT::f16,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTHDr),
                    MVT::f16, 1, 0,
   7, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTSDr),
                    MVT::f32, 1, 0,
   14, MVT::bf16,
    OPC_CheckPatternPredicate, 104,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTXNv1i64),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT),
                    MVT::bf16, 1, 1,
   0,
  10,
   OPC_CheckType, MVT::v4bf16,
   OPC_CheckPatternPredicate, 58,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN),
                   MVT::v4bf16, 1, 0,
  10,
   OPC_CheckType, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv2i32),
                   2|128,1, 1, 0,
  8,
   OPC_CheckType, MVT::v4f16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv4i16),
                   MVT::v4f16, 1, 0,
  0,
 81|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 24,
   OPC_CheckChild1Type, MVT::f16,
   OPC_SwitchType , 8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTDHr),
                    MVT::f64, 1, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTSHr),
                    MVT::f32, 1, 1,
   0,
  12,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTDSr),
                   MVT::f64, 1, 1,
  80,
   OPC_CheckChild1Type, MVT::bf16,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 29,
    OPC_CheckPatternPredicate1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i16, 3, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    MVT::v4i32, 1, 4,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 5, 6,
   43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f32, 3, 2, 1, 3,
    OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
    OPC_EmitIntegerI64, 16,
    OPC_EmitIntegerI64, 15,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UBFMWri),
                    MVT::i32, 3, 6, 7, 8,
    OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 9, 10,
   0,
  26,
   OPC_CheckType, 22|128,1,
   OPC_Scope, 11,
    OPC_CheckComplexPat, /*CP*/117, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTLv4i32),
                    22|128,1, 1, 2,
   8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTLv2i32),
                    22|128,1, 1, 1,
   0,
  58,
   OPC_CheckType, 4|128,1,
   OPC_Scope, 25,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/118, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 2,
    8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 1,
    0,
   26,
    OPC_CheckChild1Type, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_Scope, 11,
     OPC_CheckComplexPat, /*CP*/119, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 2,
    8,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 1,
    0,
   0,
  0,
 69|128,1, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::f16,
   OPC_SwitchType , 7, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTDHr),
                    MVT::f64, 1, 0,
   7, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTSHr),
                    MVT::f32, 1, 0,
   0,
  11,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckType, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTDSr),
                   MVT::f64, 1, 0,
  78,
   OPC_CheckChild0Type, MVT::bf16,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 28,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i16, 3, 1, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    MVT::v4i32, 1, 3,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 4, 5,
   42,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f32, 3, 1, 0, 2,
    OPC_EmitIntegerI32, AArch64::GPR32RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI64, 16,
    OPC_EmitIntegerI64, 15,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UBFMWri),
                    MVT::i32, 3, 5, 6, 7,
    OPC_EmitIntegerI32, AArch64::FPR32RegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 8, 9,
   0,
  24,
   OPC_CheckType, 22|128,1,
   OPC_Scope, 10,
    OPC_CheckComplexPat, /*CP*/117, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv4i32),
                    22|128,1, 1, 1,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv2i32),
                    22|128,1, 1, 0,
   0,
  54,
   OPC_CheckType, 4|128,1,
   OPC_Scope, 23,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/118, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv8i16),
                     4|128,1, 1, 1,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTLv4i16),
                     4|128,1, 1, 0,
    0,
   24,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_Scope, 10,
     OPC_CheckComplexPat, /*CP*/119, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv8i16),
                     4|128,1, 1, 1,
    7,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHLLv4i16),
                     4|128,1, 1, 0,
    0,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTASr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTADr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTAv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTASr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTADr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTAv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTAv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FNEARBYINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTISr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTIv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FNEARBYINT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTISr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTIv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTIv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FFLOOR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTMv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FFLOOR),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTMv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTMv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FROUNDEVEN),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTNv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FROUNDEVEN),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTNv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTNv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FCEIL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTPv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FCEIL),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTPv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTPv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTXv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTXv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTXv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 52|128,4, TARGET_VAL(ISD::STRICT_FTRUNC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZv4f16),
                   MVT::v4f16, 1, 1,
  80, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZv8f16),
                    MVT::v8f16, 1, 1,
   68,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 9, 11,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FRINTZv2f64),
                   22|128,1, 1, 1,
  14|128,3, MVT::v8bf16,
   OPC_Scope, 68,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 5,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 6,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 10,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 9, 11,
   69|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 5, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 12,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 13,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 15,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 17, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 16, 19,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 14, 20,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 22, 23,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 21, 24,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 27,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 28,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 29, 30, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 10, 25, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 34,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 35, 37,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 41,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 42, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 40, 46,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 48, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 47, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 52,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 53, 54, 55,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 38, 51, 56,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 33, 57,
    OPC_CompleteMatch, 1, 58,

   0,
  0,
 37|128,4, TARGET_VAL(ISD::FTRUNC),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZv4f16),
                   MVT::v4f16, 1, 0,
  78, MVT::v8f16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZv8f16),
                    MVT::v8f16, 1, 0,
   67,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 8, 10,
   0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZv2f64),
                   22|128,1, 1, 0,
  9|128,3, MVT::v8bf16,
   OPC_Scope, 67,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 1, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 8, 10,
   65|128,2,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 4, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 12,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 14,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 16, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 15, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 13, 19,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 21, 22,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 20, 23,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 25,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 26,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 27,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 28, 29, 30,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 9, 24, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 34, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 38,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 40,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 41, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 39, 45,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 46, 49,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FRINTZv4f32),
                    4|128,1, 1, 51,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 52, 53, 54,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 37, 50, 55,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 32, 56,
   0,
  0,
 91, TARGET_VAL(ISD::STRICT_FSQRT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTHr),
                   MVT::f16, 1, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTSr),
                   MVT::f32, 1, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTDr),
                   MVT::f64, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTv4f16),
                   MVT::v4f16, 1, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTv8f16),
                   MVT::v8f16, 1, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTv2f32),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTv4f32),
                   4|128,1, 1, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSQRTv2f64),
                   22|128,1, 1, 1,
  0,
 82, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTHr),
                   MVT::f16, 1, 0,
  7, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTSr),
                   MVT::f32, 1, 0,
  7, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTDr),
                   MVT::f64, 1, 0,
  7, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTv4f16),
                   MVT::v4f16, 1, 0,
  7, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTv8f16),
                   MVT::v8f16, 1, 0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTv2f32),
                   2|128,1, 1, 0,
  8, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTv4f32),
                   4|128,1, 1, 0,
  8, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRTv2f64),
                   22|128,1, 1, 0,
  0,
 83|128,5, TARGET_VAL(ISD::STRICT_FDIV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVv4f16),
                   MVT::v4f16, 2, 1, 2,
  106, MVT::v8f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVv8f16),
                    MVT::v8f16, 2, 1, 2,
   93,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 8,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 11, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 14, 15,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 13, 16,
   0,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FDIVv2f64),
                   22|128,1, 2, 1, 2,
  11|128,4, MVT::v8bf16,
   OPC_Scope, 93,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 8,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 6, 9,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 11, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 14, 15,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 13, 16,
   41|128,3,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 5, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 13,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 14,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 12, 15,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 9, 16,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 19,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 21,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 22,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 20, 23,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 25,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 27, 28,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 26, 29,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 24, 30,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 32, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 31, 34,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 37,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 39,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 40,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 38, 41,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 42, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 17, 35, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 50, 51,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 49, 52,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 54, 55,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 57,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 59, 60,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 58, 61,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 56, 62,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 64, 65,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 63, 66,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FDIVv4f32),
                    4|128,1, 2, 68, 69,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 70, 71, 72,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 53, 67, 73,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 46, 74,
    OPC_CompleteMatch, 1, 75,

   0,
  0,
 100, TARGET_VAL(ISD::STRICT_FMAXNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMv4f16),
                   MVT::v4f16, 2, 1, 2,
  9, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMv8f16),
                   MVT::v8f16, 2, 1, 2,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXNMv2f64),
                   22|128,1, 2, 1, 2,
  0,
 59|128,1, TARGET_VAL(ISD::FMAXNUM),
  OPC_Scope, 35,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMDrr),
                    MVT::f64, 2, 0, 1,
   0,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 151,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f16),
                    MVT::v4f16, 2, 0, 1,
   9, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv8f16),
                    MVT::v8f16, 2, 0, 1,
   10, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f32),
                    2|128,1, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f32),
                    4|128,1, 2, 0, 1,
   10, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f64),
                    22|128,1, 2, 0, 1,
   0,
  71,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMDrr),
                    21|128,1, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv8f16),
                    MVT::v8f16, 2, 0, 1,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv2f64),
                    22|128,1, 2, 0, 1,
   0,
  0,
 100, TARGET_VAL(ISD::STRICT_FMAXIMUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXv4f16),
                   MVT::v4f16, 2, 1, 2,
  9, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXv8f16),
                   MVT::v8f16, 2, 1, 2,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMAXv2f64),
                   22|128,1, 2, 1, 2,
  0,
 57|128,1, TARGET_VAL(ISD::FMAXIMUM),
  OPC_Scope, 35,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXDrr),
                    MVT::f64, 2, 0, 1,
   0,
  74,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f16),
                    MVT::v4f16, 2, 0, 1,
   9, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv8f16),
                    MVT::v8f16, 2, 0, 1,
   10, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f32),
                    2|128,1, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv4f32),
                    4|128,1, 2, 0, 1,
   10, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAXv2f64),
                    22|128,1, 2, 0, 1,
   0,
  71,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXDrr),
                    21|128,1, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXv8f16),
                    MVT::v8f16, 2, 0, 1,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXv2f64),
                    22|128,1, 2, 0, 1,
   0,
  0,
 100, TARGET_VAL(ISD::STRICT_FMINNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMv4f16),
                   MVT::v4f16, 2, 1, 2,
  9, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMv8f16),
                   MVT::v8f16, 2, 1, 2,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINNMv2f64),
                   22|128,1, 2, 1, 2,
  0,
 59|128,1, TARGET_VAL(ISD::FMINNUM),
  OPC_Scope, 35,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMDrr),
                    MVT::f64, 2, 0, 1,
   0,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckPredicate, 151,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f16),
                    MVT::v4f16, 2, 0, 1,
   9, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv8f16),
                    MVT::v8f16, 2, 0, 1,
   10, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f32),
                    2|128,1, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f32),
                    4|128,1, 2, 0, 1,
   10, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f64),
                    22|128,1, 2, 0, 1,
   0,
  71,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMDrr),
                    21|128,1, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv8f16),
                    MVT::v8f16, 2, 0, 1,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f64),
                    22|128,1, 2, 0, 1,
   0,
  0,
 100, TARGET_VAL(ISD::STRICT_FMINIMUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINv4f16),
                   MVT::v4f16, 2, 1, 2,
  9, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINv8f16),
                   MVT::v8f16, 2, 1, 2,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FMINv2f64),
                   22|128,1, 2, 1, 2,
  0,
 57|128,1, TARGET_VAL(ISD::FMINIMUM),
  OPC_Scope, 35,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINHrr),
                    MVT::f16, 2, 0, 1,
   8, MVT::f32,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINSrr),
                    MVT::f32, 2, 0, 1,
   8, MVT::f64,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINDrr),
                    MVT::f64, 2, 0, 1,
   0,
  74,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f16),
                    MVT::v4f16, 2, 0, 1,
   9, MVT::v8f16,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv8f16),
                    MVT::v8f16, 2, 0, 1,
   10, 2|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f32),
                    2|128,1, 2, 0, 1,
   10, 4|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv4f32),
                    4|128,1, 2, 0, 1,
   10, 22|128,1,
    OPC_CheckPatternPredicate, 34,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMINv2f64),
                    22|128,1, 2, 0, 1,
   0,
  71,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, 21|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINDrr),
                    21|128,1, 2, 0, 1,
   8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINv8f16),
                    MVT::v8f16, 2, 0, 1,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINv2f64),
                    22|128,1, 2, 0, 1,
   0,
  0,
 83|128,5, TARGET_VAL(ISD::STRICT_FSUB),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBHrr),
                   MVT::f16, 2, 1, 2,
  9, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBSrr),
                   MVT::f32, 2, 1, 2,
  9, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBDrr),
                   MVT::f64, 2, 1, 2,
  9, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBv4f16),
                   MVT::v4f16, 2, 1, 2,
  106, MVT::v8f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBv8f16),
                    MVT::v8f16, 2, 1, 2,
   93,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 8,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 11, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 14, 15,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 13, 16,
   0,
  10, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBv2f32),
                   2|128,1, 2, 1, 2,
  10, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                   4|128,1, 2, 1, 2,
  10, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FSUBv2f64),
                   22|128,1, 2, 1, 2,
  11|128,4, MVT::v8bf16,
   OPC_Scope, 93,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 5,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 8,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 6, 9,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 3, 11, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 14, 15,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 13, 16,
   41|128,3,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 5, 8,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 13,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 14,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 12, 15,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 9, 16,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 18,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 19,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 21,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 22,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 20, 23,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 25,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 27, 28,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 26, 29,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 24, 30,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 32, 33,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 31, 34,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 36,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 37,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 2, 39,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 40,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 38, 41,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 42, 43, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 17, 35, 45,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 47, 48,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 50, 51,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 49, 52,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 54, 55,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 1, 57,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 59, 60,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 58, 61,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 56, 62,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 64, 65,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 63, 66,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 2,
    OPC_EmitNode1Chain, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 68, 69,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 70, 71, 72,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 53, 67, 73,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 46, 74,
    OPC_CompleteMatch, 1, 75,

   0,
  0,
 117|128,5, TARGET_VAL(ISD::FSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBHrr),
                   MVT::f16, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBSrr),
                   MVT::f32, 2, 0, 1,
  8, MVT::f64,
   OPC_CheckPatternPredicate6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBDrr),
                   MVT::f64, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBv4f16),
                   MVT::v4f16, 2, 0, 1,
  104, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBv8f16),
                    MVT::v8f16, 2, 0, 1,
   92,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNv4i16),
                    MVT::v4f16, 1, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 13, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8f16, 2, 12, 15,
   0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBv2f32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBv4f32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBv2f64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_D),
                   81|128,1, 2, 0, 1,
  10, 72|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZZZ),
                   72|128,1, 2, 0, 1,
  6|128,4, MVT::v8bf16,
   OPC_Scope, 92,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 4,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BFCVTN),
                    MVT::v4bf16, 1, 9,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 13, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                    MVT::v8bf16, 2, 12, 15,
   37|128,3,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 3,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 4, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 9,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 10,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 13,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 8, 15,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 17,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 18,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 20,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 21,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 19, 22,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 24,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 26, 27,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 25, 28,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 23, 29,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 31, 32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 30, 33,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 35,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 36,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 38,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv4i16),
                    4|128,1, 1, 39,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 37, 40,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 41, 42, 43,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 16, 34, 44,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 46, 47,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 49, 50,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FCMEQv4f32),
                    MVT::f128, 2, 48, 51,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 53, 54,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::USHRv4i32_shift),
                    MVT::f128, 2, 0, 56,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4i32),
                    MVT::f128, 2, 58, 59,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ANDv16i8),
                    MVT::f128, 2, 57, 60,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 55, 61,
    OPC_EmitIntegerI32, 127|128,0,
    OPC_EmitIntegerI32, 8|128,2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                    MVT::f128, 2, 63, 64,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDv4i32),
                    MVT::f128, 2, 62, 65,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SHLLv8i16),
                    4|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FSUBv4f32),
                    4|128,1, 2, 67, 68,
    OPC_EmitIntegerI32, 64|128,0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ORRv4i32),
                    MVT::f128, 3, 69, 70, 71,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSPv16i8),
                    MVT::f128, 3, 52, 66, 72,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8bf16, 2, 45, 73,
   0,
  0,
 89, TARGET_VAL(ISD::FMINNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMDrr),
                   MVT::f64, 2, 0, 1,
  7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMSrr),
                   MVT::f32, 2, 0, 1,
  9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMHrr),
                   MVT::f16, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f64),
                   22|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f32),
                   4|128,1, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f32),
                   2|128,1, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv8f16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f16),
                   MVT::v4f16, 2, 0, 1,
  0,
 89, TARGET_VAL(ISD::FMAXNUM_IEEE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMDrr),
                   MVT::f64, 2, 0, 1,
  7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMSrr),
                   MVT::f32, 2, 0, 1,
  9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMHrr),
                   MVT::f16, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv2f64),
                   22|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv4f32),
                   4|128,1, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv2f32),
                   2|128,1, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv8f16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMv4f16),
                   MVT::v4f16, 2, 0, 1,
  0,
 88, TARGET_VAL(ISD::FCANONICALIZE),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMDrr),
                   MVT::f64, 2, 0, 0,
  7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMSrr),
                   MVT::f32, 2, 0, 0,
  9, MVT::f16,
   OPC_CheckPatternPredicate, 10,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMHrr),
                   MVT::f16, 2, 0, 0,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f64),
                   22|128,1, 2, 0, 0,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f32),
                   4|128,1, 2, 0, 0,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv2f32),
                   2|128,1, 2, 0, 0,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv8f16),
                   MVT::v8f16, 2, 0, 0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMv4f16),
                   MVT::v4f16, 2, 0, 0,
  0,
 24, TARGET_VAL(AArch64ISD::SQRSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHLv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 24, TARGET_VAL(AArch64ISD::SQSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHLv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 24, TARGET_VAL(AArch64ISD::UQADD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 24, TARGET_VAL(AArch64ISD::UQRSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHLv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 24, TARGET_VAL(AArch64ISD::UQSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHLv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 24, TARGET_VAL(AArch64ISD::UQSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv1i64),
                   MVT::f64, 2, 0, 1,
  8, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv1i32),
                   MVT::f32, 2, 0, 1,
  0,
 14, TARGET_VAL(AArch64ISD::SQDMULL),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f32,
  OPC_RecordChild1,
  OPC_CheckType, MVT::f64,
  OPC_CheckPatternPredicate1,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMULLi32),
                  MVT::f64, 2, 0, 1,
 25, TARGET_VAL(AArch64ISD::FCVTXN),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f32,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv1i64),
                   MVT::f32, 1, 0,
  8, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv2f32),
                   2|128,1, 1, 0,
  0,
 33, TARGET_VAL(AArch64ISD::SITOF),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i64),
                   MVT::f64, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i32),
                   MVT::f32, 1, 0,
  8, MVT::f16,
   OPC_CheckPatternPredicate, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFv1i16),
                   MVT::f16, 1, 0,
  0,
 33, TARGET_VAL(AArch64ISD::UITOF),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f64,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i64),
                   MVT::f64, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 28,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i32),
                   MVT::f32, 1, 0,
  8, MVT::f16,
   OPC_CheckPatternPredicate, 48,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFv1i16),
                   MVT::f16, 1, 0,
  0,
 92, TARGET_VAL(AArch64ISD::FRECPE),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i32),
                   MVT::f32, 1, 0,
  6, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i64),
                   MVT::f64, 1, 0,
  7, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv2f32),
                   2|128,1, 1, 0,
  7, 4|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv4f32),
                   4|128,1, 1, 0,
  7, 21|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv1i64),
                   21|128,1, 1, 0,
  7, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPEv2f64),
                   22|128,1, 1, 0,
  8, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPE_ZZ_H),
                   66|128,1, 1, 0,
  8, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPE_ZZ_S),
                   77|128,1, 1, 0,
  8, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPE_ZZ_D),
                   81|128,1, 1, 0,
  0,
 91, TARGET_VAL(AArch64ISD::FRECPS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS32),
                   MVT::f32, 2, 0, 1,
  7, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS64),
                   MVT::f64, 2, 0, 1,
  8, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv2f32),
                   2|128,1, 2, 0, 1,
  8, 4|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv4f32),
                   4|128,1, 2, 0, 1,
  8, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPSv2f64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPS_ZZZ_D),
                   81|128,1, 2, 0, 1,
  0,
 92, TARGET_VAL(AArch64ISD::FRSQRTE),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i32),
                   MVT::f32, 1, 0,
  6, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i64),
                   MVT::f64, 1, 0,
  7, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv2f32),
                   2|128,1, 1, 0,
  7, 4|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv4f32),
                   4|128,1, 1, 0,
  7, 21|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv1i64),
                   21|128,1, 1, 0,
  7, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTEv2f64),
                   22|128,1, 1, 0,
  8, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTE_ZZ_H),
                   66|128,1, 1, 0,
  8, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTE_ZZ_S),
                   77|128,1, 1, 0,
  8, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTE_ZZ_D),
                   81|128,1, 1, 0,
  0,
 91, TARGET_VAL(AArch64ISD::FRSQRTS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS32),
                   MVT::f32, 2, 0, 1,
  7, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS64),
                   MVT::f64, 2, 0, 1,
  8, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv2f32),
                   2|128,1, 2, 0, 1,
  8, 4|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv4f32),
                   4|128,1, 2, 0, 1,
  8, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTSv2f64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRSQRTS_ZZZ_D),
                   81|128,1, 2, 0, 1,
  0,
 110, TARGET_VAL(ISD::VECREDUCE_FADD),
  OPC_RecordChild0,
  OPC_SwitchType , 38, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                    MVT::f32, 1, 0,
   25,
    OPC_CheckChild0Type, 4|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv4f32),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i32p),
                    MVT::f32, 1, 3,
   0,
  9, MVT::f64,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i64p),
                   MVT::f64, 1, 0,
  54, MVT::f16,
   OPC_Scope, 17,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv4f16),
                    MVT::i64, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i16p),
                    MVT::f16, 1, 1,
   33,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv8f16),
                    MVT::f128, 2, 0, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv8f16),
                    MVT::f128, 2, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i64, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2i16p),
                    MVT::f16, 1, 4,
   0,
  0,
 63, TARGET_VAL(ISD::VECREDUCE_FMAX),
  OPC_RecordChild0,
  OPC_SwitchType , 23, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2i32p),
                    MVT::f32, 1, 0,
   10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv4i32v),
                    MVT::f32, 1, 0,
   0,
  9, MVT::f64,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMPv2i64p),
                   MVT::f64, 1, 0,
  22, MVT::f16,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv4i16v),
                    MVT::f16, 1, 0,
   9,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMVv8i16v),
                    MVT::f16, 1, 0,
   0,
  0,
 63, TARGET_VAL(ISD::VECREDUCE_FMAXIMUM),
  OPC_RecordChild0,
  OPC_SwitchType , 23, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2i32p),
                    MVT::f32, 1, 0,
   10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv4i32v),
                    MVT::f32, 1, 0,
   0,
  9, MVT::f64,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXPv2i64p),
                   MVT::f64, 1, 0,
  22, MVT::f16,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv4i16v),
                    MVT::f16, 1, 0,
   9,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXVv8i16v),
                    MVT::f16, 1, 0,
   0,
  0,
 63, TARGET_VAL(ISD::VECREDUCE_FMIN),
  OPC_RecordChild0,
  OPC_SwitchType , 23, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2i32p),
                    MVT::f32, 1, 0,
   10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv4i32v),
                    MVT::f32, 1, 0,
   0,
  9, MVT::f64,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMPv2i64p),
                   MVT::f64, 1, 0,
  22, MVT::f16,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv4i16v),
                    MVT::f16, 1, 0,
   9,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMVv8i16v),
                    MVT::f16, 1, 0,
   0,
  0,
 63, TARGET_VAL(ISD::VECREDUCE_FMINIMUM),
  OPC_RecordChild0,
  OPC_SwitchType , 23, MVT::f32,
   OPC_Scope, 9,
    OPC_CheckChild0Type, 2|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2i32p),
                    MVT::f32, 1, 0,
   10,
    OPC_CheckChild0Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv4i32v),
                    MVT::f32, 1, 0,
   0,
  9, MVT::f64,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINPv2i64p),
                   MVT::f64, 1, 0,
  22, MVT::f16,
   OPC_Scope, 9,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv4i16v),
                    MVT::f16, 1, 0,
   9,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINVv8i16v),
                    MVT::f16, 1, 0,
   0,
  0,
 119|128,1, TARGET_VAL(AArch64ISD::COALESCER_BARRIER),
  OPC_CaptureGlueInput,
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::bf16,
   OPC_CheckChild0Type, MVT::bf16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR16), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::bf16, 1, 0,
  9, MVT::f16,
   OPC_CheckChild0Type, MVT::f16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR16), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::f16, 1, 0,
  9, MVT::f32,
   OPC_CheckChild0Type, MVT::f32,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR32), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::f32, 1, 0,
  9, MVT::f64,
   OPC_CheckChild0Type, MVT::f64,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::f64, 1, 0,
  9, MVT::f128,
   OPC_CheckChild0Type, MVT::f128,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::f128, 1, 0,
  9, MVT::v8i8,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v8i8, 1, 0,
  9, MVT::v4i16,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v4i16, 1, 0,
  9, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v2i32, 1, 0,
  9, MVT::v1i64,
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v1i64, 1, 0,
  9, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v16i8, 1, 0,
  9, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v8i16, 1, 0,
  9, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v4i32, 1, 0,
  9, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v2i64, 1, 0,
  9, MVT::v4f16,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v4f16, 1, 0,
  11, 2|128,1,
   OPC_CheckChild0Type, 2|128,1,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   2|128,1, 1, 0,
  11, 21|128,1,
   OPC_CheckChild0Type, 21|128,1,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   21|128,1, 1, 0,
  9, MVT::v4bf16,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR64), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v4bf16, 1, 0,
  9, MVT::v8f16,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v8f16, 1, 0,
  11, 4|128,1,
   OPC_CheckChild0Type, 4|128,1,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   4|128,1, 1, 0,
  11, 22|128,1,
   OPC_CheckChild0Type, 22|128,1,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   22|128,1, 1, 0,
  9, MVT::v8bf16,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::COALESCER_BARRIER_FPR128), 0|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::v8bf16, 1, 0,
  0,
 25, TARGET_VAL(AArch64ISD::FCVTZS_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZSv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTZU_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTZUv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTAS_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTASv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTAU_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTAUv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTMS_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTMSv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTMU_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTMUv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTNS_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNSv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTNU_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTNUv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTPS_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTPSv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 25, TARGET_VAL(AArch64ISD::FCVTPU_HALF),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f16,
  OPC_CheckType, MVT::f32,
  OPC_CheckPatternPredicate, 10,
  OPC_EmitIntegerI64, 0,
  OPC_EmitNode1None, TARGET_VAL(AArch64::FCVTPUv1f16),
                  MVT::i16, 1, 0,
  OPC_EmitIntegerI32, AArch64::hsub,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                  MVT::f32, 3, 1, 2, 3,
 112|128,34, TARGET_VAL(ISD::CONCAT_VECTORS),
  OPC_Scope, 2|128,5,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 55|128,3, TARGET_VAL(ISD::ADD),
    OPC_Scope, 72,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
     OPC_CheckChild0Integer, 0|128,1,
     OPC_CheckChild0TypeI32,
     OPC_CheckChild1Integer, 24,
     OPC_CheckChild1TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::v2i64, 1, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v4i32),
                     MVT::v4i32, 3, 4, 1, 6,
    72,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::NVCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
     OPC_CheckChild0Integer, 0|128,1,
     OPC_CheckChild0TypeI32,
     OPC_CheckChild1Integer, 24,
     OPC_CheckChild1TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 22|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::v2i64, 1, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v4i32),
                     MVT::v4i32, 3, 4, 1, 6,
    99,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
     OPC_CheckChild0Integer, 0|128,1,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 43,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v8i16, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v16i8),
                      MVT::v16i8, 3, 4, 1, 6,
     43,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v4i32, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v8i16),
                      MVT::v8i16, 3, 4, 1, 6,
     0,
    100,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MOVIshift),
     OPC_CheckChild0Integer, 0|128,1,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 44,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v8i16, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v16i8),
                      MVT::v16i8, 3, 4, 1, 6,
     44,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::v4i32, 1, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v8i16),
                      MVT::v8i16, 3, 4, 1, 6,
     0,
    89,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv8i16_v16i8),
                      MVT::v16i8, 3, 5, 1, 2,
     27,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv4i32_v8i16),
                      MVT::v8i16, 3, 5, 1, 2,
     27,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv2i64_v4i32),
                      MVT::v4i32, 3, 5, 1, 2,
     0,
    0,
   92, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 27,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 2, 1,
    27,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 2, 1,
    27,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 2, 1,
    0,
   89, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_Scope, 27,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 1, 2,
    27,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
    27,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
    0,
   0,
  95,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v16i8),
                    MVT::v16i8, 2, 0, 1,
   27,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                    MVT::v8i16, 2, 0, 1,
   27,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  0|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 42|128,5,
   OPC_RecordChild1,
   OPC_Scope, 38,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckChild2Integer, 8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 0, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v8i16, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v16i8),
                    MVT::v16i8, 3, 4, 1, 6,
   38,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckChild2Integer, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 0, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v4i32, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v8i16),
                    MVT::v8i16, 3, 4, 1, 6,
   38,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckChild2Integer, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 0, 3,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v2i64, 1, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v4i32),
                    MVT::v4i32, 3, 4, 1, 6,
   0,
  55|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 87, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::AssertZext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    36, TARGET_VAL(ISD::AssertSext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    0,
   87, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::AssertZext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    36, TARGET_VAL(ISD::AssertSext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    0,
   0,
  48|128,9,
   OPC_RecordChild0,
   OPC_Scope, 83,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v2i64,
     OPC_CheckComplexPat, /*CP*/120, /*#*/0,
     OPC_CheckComplexPat, /*CP*/120, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v2i64, 4, 3, 4, 2, 5,
    17, MVT::v4i32,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v4i32, 4, 3, 4, 2, 5,
    17, MVT::v8i16,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8i16, 4, 3, 4, 2, 5,
    19, MVT::v16i8,
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v16i8, 4, 3, 4, 2, 5,
    0,
   87|128,8,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 56|128,2, TARGET_VAL(ISD::TRUNCATE),
     OPC_Scope, 91,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_SwitchType , 27, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat, /*CP*/111, /*#*/1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv16i8_shift),
                       MVT::v16i8, 3, 6, 2, 3,
      27, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat, /*CP*/111, /*#*/1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv8i16_shift),
                       MVT::v8i16, 3, 6, 2, 3,
      27, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat, /*CP*/111, /*#*/1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 4, 0, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv4i32_shift),
                       MVT::v4i32, 3, 6, 2, 3,
      0,
     88|128,1,
      OPC_MoveChild0,
      OPC_SwitchOpcode , 105, TARGET_VAL(AArch64ISD::VASHR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
       OPC_CheckTypeI32,
       OPC_Scope, 31,
        OPC_CheckPredicate, 30,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv16i8_shift),
                        MVT::v16i8, 3, 5, 1, 2,
       31,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv8i16_shift),
                        MVT::v8i16, 3, 5, 1, 2,
       31,
        OPC_CheckPredicate, 17,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate1,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv4i32_shift),
                        MVT::v4i32, 3, 5, 1, 2,
       0,
      102, TARGET_VAL(AArch64ISD::VLSHR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
       OPC_CheckTypeI32,
       OPC_Scope, 30,
        OPC_CheckPredicate, 30,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv16i8_shift),
                        MVT::v16i8, 3, 5, 1, 2,
       30,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv8i16_shift),
                        MVT::v8i16, 3, 5, 1, 2,
       30,
        OPC_CheckPredicate, 17,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::f128, 0,
        OPC_EmitIntegerI32, AArch64::dsub,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                        MVT::f128, 3, 3, 0, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHRNv4i32_shift),
                        MVT::v4i32, 3, 5, 1, 2,
       0,
      0,
     0,
    120, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 42|128,5,
     OPC_RecordChild1,
     OPC_Scope, 37,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv16i8_shift),
                      MVT::v16i8, 3, 5, 1, 2,
     37,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_RecordChild2,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv8i16_shift),
                      MVT::v8i16, 3, 5, 1, 2,
     37,
      OPC_CheckChild1Type, MVT::v2i64,
      OPC_RecordChild2,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckPredicate, 17,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNv4i32_shift),
                      MVT::v4i32, 3, 5, 1, 2,
     0,
    91|128,1, TARGET_VAL(ISD::TRUNCATE_SSAT_S),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 105, TARGET_VAL(AArch64ISD::SRSHR_I),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     105, TARGET_VAL(AArch64ISD::VASHR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     0,
    91|128,1, TARGET_VAL(ISD::TRUNCATE_SSAT_U),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 105, TARGET_VAL(AArch64ISD::SRSHR_I),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     105, TARGET_VAL(AArch64ISD::VASHR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     0,
    91|128,1, TARGET_VAL(ISD::TRUNCATE_USAT_U),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 105, TARGET_VAL(AArch64ISD::URSHR_I),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     105, TARGET_VAL(AArch64ISD::VLSHR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_CheckTypeI32,
      OPC_Scope, 31,
       OPC_CheckPredicate, 30,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv16i8_shift),
                       MVT::v16i8, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv8i16_shift),
                       MVT::v8i16, 3, 5, 1, 2,
      31,
       OPC_CheckPredicate, 17,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::f128, 0,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::f128, 3, 3, 0, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv4i32_shift),
                       MVT::v4i32, 3, 5, 1, 2,
      0,
     0,
    0,
   0,
  48|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 82, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::AssertZext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    36, TARGET_VAL(ISD::AssertSext),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v16i8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                      MVT::v16i8, 2, 0, 1,
     7, MVT::v8i16,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                      MVT::v8i16, 2, 0, 1,
     7, MVT::v4i32,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    0,
   41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                     MVT::v16i8, 2, 0, 1,
    7, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::v8i16, 2, 0, 1,
    7, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::v4i32, 2, 0, 1,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v16i8,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                     MVT::v16i8, 2, 0, 1,
    7, MVT::v8i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::v8i16, 2, 0, 1,
    7, MVT::v4i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::v4i32, 2, 0, 1,
    0,
   0,
  75|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 27,
    OPC_CheckChild0Integer, 21|128,6,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f128, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::f128, 3, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                    MVT::v8i16, 2, 4, 1,
   105,
    OPC_CheckChild0Integer, 81|128,4,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
    0,
   105,
    OPC_CheckChild0Integer, 99|128,5,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
    0,
   105,
    OPC_CheckChild0Integer, 41|128,5,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RADDHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
    0,
   105,
    OPC_CheckChild0Integer, 43|128,5,
    OPC_RecordChild1,
    OPC_Scope, 32,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv8i16_v16i8),
                     MVT::v16i8, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv4i32_v8i16),
                     MVT::v8i16, 3, 5, 1, 2,
    32,
     OPC_CheckChild1Type, MVT::v2i64,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 3, 0, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSUBHNv2i64_v4i32),
                     MVT::v4i32, 3, 5, 1, 2,
    0,
   0,
  40,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::v16i8,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                    MVT::v16i8, 2, 0, 1,
   7, MVT::v8i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                    MVT::v8i16, 2, 0, 1,
   7, MVT::v4i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                    MVT::v4i32, 2, 0, 1,
   0,
  115|128,11,
   OPC_RecordChild0,
   OPC_Scope, 111|128,3,
    OPC_MoveChild1,
    OPC_Scope, 84,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::v2i64,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v2i64, 3, 1, 2, 3,
     18, MVT::v4i32,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v4i32, 3, 1, 2, 3,
     18, MVT::v8i16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8i16, 3, 1, 2, 3,
     18, MVT::v16i8,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v16i8, 3, 1, 2, 3,
     0,
    74,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 15, MVT::v2i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 0, 2,
     15, MVT::v4i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 1, 0, 2,
     15, MVT::v8i16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8i16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8i16, 3, 1, 0, 2,
     15, MVT::v16i8,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v16i8, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v16i8, 3, 1, 0, 2,
     0,
    82,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE_SSAT_S),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv16i8),
                      MVT::v16i8, 2, 4, 1,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv8i16),
                      MVT::v8i16, 2, 4, 1,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv4i32),
                      MVT::v4i32, 2, 4, 1,
     0,
    82,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE_SSAT_U),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv16i8),
                      MVT::v16i8, 2, 4, 1,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv8i16),
                      MVT::v8i16, 2, 4, 1,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv4i32),
                      MVT::v4i32, 2, 4, 1,
     0,
    82,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE_USAT_U),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv16i8),
                      MVT::v16i8, 2, 4, 1,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv8i16),
                      MVT::v8i16, 2, 4, 1,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv4i32),
                      MVT::v4i32, 2, 4, 1,
     0,
    82,
     OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv16i8),
                      MVT::v16i8, 2, 4, 1,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i16),
                      MVT::v8i16, 2, 4, 1,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i32),
                      MVT::v4i32, 2, 4, 1,
     0,
    0,
   13,
    OPC_RecordChild1,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_D),
                    32|128,1, 2, 0, 1,
   16,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_S),
                    33|128,1, 2, 0, 1,
   16,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_H),
                    34|128,1, 2, 0, 1,
   16,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_B),
                    35|128,1, 2, 0, 1,
   15|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 43, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v2i64, 4, 4, 5, 8, 9,
    43, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v4i32, 4, 4, 5, 8, 9,
    43, MVT::v8i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8i16, 4, 4, 5, 8, 9,
    43, MVT::v16i8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v16i8, 4, 4, 5, 8, 9,
    20, 22|128,1,
     OPC_CheckComplexPat, /*CP*/146, /*#*/0,
     OPC_CheckComplexPat, /*CP*/146, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     22|128,1, 4, 3, 4, 2, 5,
    20, 4|128,1,
     OPC_CheckComplexPat, /*CP*/117, /*#*/0,
     OPC_CheckComplexPat, /*CP*/117, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     4|128,1, 4, 3, 4, 2, 5,
    19, MVT::v8f16,
     OPC_CheckComplexPat, /*CP*/118, /*#*/0,
     OPC_CheckComplexPat, /*CP*/118, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8f16, 4, 3, 4, 2, 5,
    19, MVT::v8bf16,
     OPC_CheckComplexPat, /*CP*/119, /*#*/0,
     OPC_CheckComplexPat, /*CP*/119, /*#*/1,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8bf16, 4, 3, 4, 2, 5,
    0,
   34|128,3,
    OPC_MoveChild1,
    OPC_Scope, 38,
     OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
     OPC_CheckChild0Integer, 103|128,4,
     OPC_RecordChild1,
     OPC_CheckChild1Type, 22|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv4f32),
                     4|128,1, 2, 4, 1,
    88,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_SwitchType , 19, 22|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      22|128,1, 3, 1, 2, 3,
     19, 4|128,1,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      4|128,1, 3, 1, 2, 3,
     18, MVT::v8f16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8f16, 3, 1, 2, 3,
     18, MVT::v8bf16,
      OPC_EmitIntegerI64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::FMOVDr),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      MVT::v8bf16, 3, 1, 2, 3,
     0,
    80,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 17, 22|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      22|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      22|128,1, 3, 1, 0, 2,
     17, 4|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      4|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      4|128,1, 3, 1, 0, 2,
     15, MVT::v8f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8f16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 1, 0, 2,
     15, MVT::v8bf16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 1, 0, 2,
     0,
    88,
     OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FP_ROUND),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 25, MVT::v8bf16,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 3, 0, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::BFCVTN2),
                      MVT::v8bf16, 2, 5, 2,
     24, 4|128,1,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv4i32),
                      4|128,1, 2, 5, 2,
     23, MVT::v8f16,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 3, 0, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::FCVTNv8i16),
                      MVT::v8f16, 2, 5, 2,
     0,
    83,
     OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_SwitchType , 24, MVT::v8bf16,
      OPC_CheckPatternPredicate, 58,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v8bf16, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVTN2),
                      MVT::v8bf16, 2, 4, 1,
     23, 4|128,1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv4i32),
                      4|128,1, 2, 4, 1,
     22, MVT::v8f16,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::f128, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::f128, 3, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTNv8i16),
                      MVT::v8f16, 2, 4, 1,
     0,
    32,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FCVTXN),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTXNv4f32),
                     4|128,1, 2, 4, 1,
    0,
   13,
    OPC_RecordChild1,
    OPC_CheckType, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                    65|128,1, 2, 0, 1,
   16,
    OPC_CheckChild0Type, 65|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    66|128,1, 2, 0, 1,
   27,
    OPC_RecordChild1,
    OPC_SwitchType , 9, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                     77|128,1, 2, 0, 1,
    9, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                     71|128,1, 2, 0, 1,
    0,
   16,
    OPC_CheckChild0Type, 71|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    72|128,1, 2, 0, 1,
   59|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 44, 22|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     22|128,1, 4, 4, 5, 8, 9,
    44, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     4|128,1, 4, 4, 5, 8, 9,
    43, MVT::v8f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8f16, 4, 4, 5, 8, 9,
    43, MVT::v8bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 2, 0, 3,
     OPC_EmitIntegerI64, 1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::f128, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::f128, 3, 6, 1, 7,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSvi64lane),
                     MVT::v8bf16, 4, 4, 5, 8, 9,
    0,
   0,
  0,
 54|128,9, TARGET_VAL(ISD::SADDSAT),
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv8i16_indexed),
                    MVT::v4i32, 4, 0, 4, 2, 5,
   44,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i32_indexed),
                    MVT::v2i64, 4, 0, 4, 2, 5,
   0,
  102,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 45,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv8i16_indexed),
                    MVT::v4i32, 4, 3, 4, 1, 5,
   45,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i32_indexed),
                    MVT::v2i64, 4, 3, 4, 1, 5,
   0,
  97,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 42,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_indexed),
                    MVT::v4i32, 4, 0, 1, 2, 4,
   42,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_indexed),
                    MVT::v2i64, 4, 0, 1, 2, 4,
   0,
  98,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   43,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   0,
  55,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 21,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv8i16_v4i32),
                    MVT::v4i32, 3, 0, 3, 4,
   21,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i32_v2i64),
                    MVT::v2i64, 3, 0, 3, 4,
   0,
  56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 22,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv8i16_v4i32),
                    MVT::v4i32, 3, 2, 3, 4,
   22,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i32_v2i64),
                    MVT::v2i64, 3, 2, 3, 4,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_indexed),
                    MVT::v4i32, 4, 0, 1, 2, 4,
   34,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_indexed),
                    MVT::v2i64, 4, 0, 1, 2, 4,
   0,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 35,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_indexed),
                    MVT::v4i32, 4, 3, 0, 1, 4,
   35,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_indexed),
                    MVT::v2i64, 4, 3, 0, 1, 4,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 17,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_v4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   17,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_v2i64),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  48,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 68|128,5,
   OPC_RecordChild1,
   OPC_Scope, 18,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv4i16_v4i32),
                    MVT::v4i32, 3, 2, 0, 1,
   18,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLALv2i32_v2i64),
                    MVT::v2i64, 3, 2, 0, 1,
   0,
  16|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 100,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 29, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/129, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_B),
                      42|128,1, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/130, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_B),
                      42|128,1, 3, 0, 2, 3,
     0,
    29, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/131, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_H),
                      48|128,1, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/132, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_H),
                      48|128,1, 3, 0, 2, 3,
     0,
    29, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/133, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_S),
                      53|128,1, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/134, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_S),
                      53|128,1, 3, 0, 2, 3,
     0,
    0,
   34,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/135, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_D),
                     58|128,1, 3, 0, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/136, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_D),
                     58|128,1, 3, 0, 2, 3,
    0,
   0,
  17|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 101,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 29, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/129, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_B),
                      42|128,1, 3, 1, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/130, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_B),
                      42|128,1, 3, 1, 2, 3,
     0,
    29, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/131, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_H),
                      48|128,1, 3, 1, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/132, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_H),
                      48|128,1, 3, 1, 2, 3,
     0,
    29, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/133, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_S),
                      53|128,1, 3, 1, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/134, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_S),
                      53|128,1, 3, 1, 2, 3,
     0,
    0,
   35,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat, /*CP*/135, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_D),
                     58|128,1, 3, 1, 2, 3,
    12,
     OPC_CheckComplexPat, /*CP*/136, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_D),
                     58|128,1, 3, 1, 2, 3,
    0,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv2i64),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADDv1i64),
                    MVT::v1i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZZZ_B),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  0,
 62|128,4, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_Scope, 52|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 30|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 68|128,5,
    OPC_RecordChild1,
    OPC_Scope, 10|128,1,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_Scope, 64,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_Scope, 20,
       OPC_CheckChild1Integer, 4,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat6, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv8i16_indexed),
                       MVT::v4i32, 4, 0, 4, 2, 5,
      18,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv4i16_indexed),
                       MVT::v4i32, 4, 0, 1, 2, 4,
      0,
     19,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv8i16_v4i32),
                      MVT::v4i32, 3, 0, 3, 4,
     32,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate5,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv4i16_indexed),
                      MVT::v4i32, 4, 0, 1, 2, 4,
     15,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv4i16_v4i32),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    10|128,1,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_Scope, 64,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_Scope, 20,
       OPC_CheckChild1Integer, 2,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv4i32_indexed),
                       MVT::v2i64, 4, 0, 4, 2, 5,
      18,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild1TypeI64,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv2i32_indexed),
                       MVT::v2i64, 4, 0, 1, 2, 4,
      0,
     19,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_CheckComplexPat7, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv4i32_v2i64),
                      MVT::v2i64, 3, 0, 3, 4,
     32,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate6,
      OPC_CheckTypeI64,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv2i32_indexed),
                      MVT::v2i64, 4, 0, 1, 2, 4,
     15,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQDMLSLv2i32_v2i64),
                      MVT::v2i64, 3, 0, 1, 2,
     0,
    0,
   11|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_Scope, 100,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 29, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/130, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_B),
                       42|128,1, 3, 0, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/129, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_B),
                       42|128,1, 3, 0, 2, 3,
      0,
     29, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/132, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_H),
                       48|128,1, 3, 0, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/131, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_H),
                       48|128,1, 3, 0, 2, 3,
      0,
     29, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 12,
       OPC_CheckComplexPat, /*CP*/134, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_S),
                       53|128,1, 3, 0, 2, 3,
      12,
       OPC_CheckComplexPat, /*CP*/133, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_S),
                       53|128,1, 3, 0, 2, 3,
      0,
     0,
    34,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 12,
      OPC_CheckComplexPat, /*CP*/136, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQADD_ZI_D),
                      58|128,1, 3, 0, 2, 3,
     12,
      OPC_CheckComplexPat, /*CP*/135, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZI_D),
                      58|128,1, 3, 0, 2, 3,
     0,
    0,
   0,
  3|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv2i64),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUBv1i64),
                    MVT::v1i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSUB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  0,
 107|128,5, TARGET_VAL(AArch64ISD::DUPLANE128),
  OPC_Scope, 90|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 59,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 108,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 35, 5,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    42|128,1, 3, 4, 1, 6,
   44,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_B), 0|OPFL_Chain|OPFL_MemRefs,
                    42|128,1, 3, 5, 2, 3,
   59,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 108,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 35, 5,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 4, 1, 6,
   44,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_H), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 5, 2, 3,
   59,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 108,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 35, 5,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 4, 1, 6,
   44,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/23, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_W), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 5, 2, 3,
   59,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 108,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v2i64,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 35, 5,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 4, 1, 6,
   80|128,1,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 80, MVT::v2i64,
     OPC_Scope, 38,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 5, 2, 3,
     38,
      OPC_CheckChild1TypeI64,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI64,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI64,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 2,
      OPC_EmitIntegerI64, 0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 3, 1, 4,
     0,
    38, MVT::v16i8,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 42|128,1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 3, 1, 4,
    38, MVT::v8i16,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 3, 1, 4,
    38, MVT::v4i32,
     OPC_CheckChild1TypeI64,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI64,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RQ_W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 3, 1, 4,
    0,
   0,
  11|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 14, 42|128,1,
    OPC_CheckChild0Type, 42|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    42|128,1, 2, 0, 1,
   14, 48|128,1,
    OPC_CheckChild0Type, 48|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    48|128,1, 2, 0, 1,
   14, 53|128,1,
    OPC_CheckChild0Type, 53|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    53|128,1, 2, 0, 1,
   14, 58|128,1,
    OPC_CheckChild0Type, 58|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    58|128,1, 2, 0, 1,
   14, 66|128,1,
    OPC_CheckChild0Type, 66|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    66|128,1, 2, 0, 1,
   14, 77|128,1,
    OPC_CheckChild0Type, 77|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    77|128,1, 2, 0, 1,
   14, 81|128,1,
    OPC_CheckChild0Type, 81|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    81|128,1, 2, 0, 1,
   14, 72|128,1,
    OPC_CheckChild0Type, 72|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_Q),
                    72|128,1, 2, 0, 1,
   0,
  0,
 31|128,44, TARGET_VAL(ISD::VSELECT),
  OPC_RecordChild0,
  OPC_Scope, 88|128,6,
   OPC_CheckChild0Type, 35|128,1,
   OPC_Scope, 50|128,6,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 60|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_Scope, 45,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate7,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitIntegerI32, 127,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                      42|128,1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                      42|128,1, 3, 5, 0, 2,
     68,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_Scope, 36,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
       OPC_CheckChild0Integer, 127,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate7,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitIntegerI32, 127,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_B),
                       42|128,1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                       42|128,1, 3, 5, 0, 2,
      19,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckType, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                       42|128,1, 3, 2, 0, 2,
      0,
     28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                      42|128,1, 3, 2, 0, 2,
     40,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_B),
                       42|128,1, 3, 0, 2, 3,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_B),
                       42|128,1, 3, 0, 3, 2,
      0,
     0,
    49, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 24,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/121, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_B),
                      42|128,1, 3, 0, 2, 3,
     19,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 42|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/121, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_B),
                      42|128,1, 4, 2, 0, 3, 4,
     0,
    41|128,1, TARGET_VAL(ISD::ADD),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_B),
                       42|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_B),
                       42|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_B),
                       42|128,1, 4, 0, 1, 3, 4,
      0,
     64,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_B),
                       42|128,1, 4, 0, 2, 3, 4,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_B),
                       42|128,1, 4, 0, 3, 2, 4,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_B),
                       42|128,1, 4, 0, 4, 2, 3,
      0,
     36,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                       42|128,1, 3, 0, 1, 2,
      13,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_B),
                       42|128,1, 3, 0, 2, 1,
      0,
     0,
    102, TARGET_VAL(ISD::SUB),
     OPC_RecordChild0,
     OPC_Scope, 63,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_B),
                       42|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_B),
                       42|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_B),
                       42|128,1, 4, 0, 1, 3, 4,
      0,
     34,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 42|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_B),
                       42|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_B),
                       42|128,1, 3, 0, 2, 1,
      0,
     0,
    41, TARGET_VAL(AArch64ISD::SMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_B),
                      42|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_B),
                      42|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_B),
                      42|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_B),
                      42|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::SMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_B),
                      42|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_B),
                      42|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_B),
                      42|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_B),
                      42|128,1, 3, 0, 3, 2,
     0,
    36, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_B),
                      42|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_B),
                      42|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_B),
                      42|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_B),
                      42|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 42|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_B),
                      42|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_B),
                      42|128,1, 3, 0, 2, 1,
     0,
    0,
   30,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_B),
                     42|128,1, 3, 0, 1, 2,
    10, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                     35|128,1, 3, 0, 1, 2,
    0,
   0,
  88|128,6,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 50|128,6,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 60|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_Scope, 45,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate7,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitIntegerI32, 127,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                      42|128,1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                      48|128,1, 3, 5, 0, 2,
     68,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_Scope, 36,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
       OPC_CheckChild0Integer, 127,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate7,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitIntegerI32, 127,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_H),
                       42|128,1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                       48|128,1, 3, 5, 0, 2,
      19,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckType, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                       48|128,1, 3, 2, 0, 2,
      0,
     28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                      48|128,1, 3, 2, 0, 2,
     40,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_H),
                       48|128,1, 3, 0, 2, 3,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_H),
                       48|128,1, 3, 0, 3, 2,
      0,
     0,
    49, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 24,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/122, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_H),
                      48|128,1, 3, 0, 2, 3,
     19,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/122, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_H),
                      48|128,1, 4, 2, 0, 3, 4,
     0,
    41|128,1, TARGET_VAL(ISD::ADD),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_H),
                       48|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_H),
                       48|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_H),
                       48|128,1, 4, 0, 1, 3, 4,
      0,
     64,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_H),
                       48|128,1, 4, 0, 2, 3, 4,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_H),
                       48|128,1, 4, 0, 3, 2, 4,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_H),
                       48|128,1, 4, 0, 4, 2, 3,
      0,
     36,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                       48|128,1, 3, 0, 1, 2,
      13,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_H),
                       48|128,1, 3, 0, 2, 1,
      0,
     0,
    102, TARGET_VAL(ISD::SUB),
     OPC_RecordChild0,
     OPC_Scope, 63,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_H),
                       48|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_H),
                       48|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_H),
                       48|128,1, 4, 0, 1, 3, 4,
      0,
     34,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 48|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_H),
                       48|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_H),
                       48|128,1, 3, 0, 2, 1,
      0,
     0,
    41, TARGET_VAL(AArch64ISD::SMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_H),
                      48|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_H),
                      48|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_H),
                      48|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_H),
                      48|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::SMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_H),
                      48|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_H),
                      48|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_H),
                      48|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_H),
                      48|128,1, 3, 0, 3, 2,
     0,
    36, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_H),
                      48|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_H),
                      48|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_H),
                      48|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_H),
                      48|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_H),
                      48|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_H),
                      48|128,1, 3, 0, 2, 1,
     0,
    0,
   30,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_H),
                     48|128,1, 3, 0, 1, 2,
    10, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                     34|128,1, 3, 0, 1, 2,
    0,
   0,
  88|128,6,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 50|128,6,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 60|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_Scope, 45,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate7,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitIntegerI32, 127,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                      42|128,1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                      53|128,1, 3, 5, 0, 2,
     68,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_Scope, 36,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
       OPC_CheckChild0Integer, 127,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate7,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitIntegerI32, 127,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_S),
                       42|128,1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                       53|128,1, 3, 5, 0, 2,
      19,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckType, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                       53|128,1, 3, 2, 0, 2,
      0,
     28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                      53|128,1, 3, 2, 0, 2,
     40,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_S),
                       53|128,1, 3, 0, 2, 3,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_S),
                       53|128,1, 3, 0, 3, 2,
      0,
     0,
    49, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_Scope, 24,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/123, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_S),
                      53|128,1, 3, 0, 2, 3,
     19,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/123, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_S),
                      53|128,1, 4, 2, 0, 3, 4,
     0,
    41|128,1, TARGET_VAL(ISD::ADD),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_S),
                       53|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_S),
                       53|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_S),
                       53|128,1, 4, 0, 1, 3, 4,
      0,
     64,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_S),
                       53|128,1, 4, 0, 2, 3, 4,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_S),
                       53|128,1, 4, 0, 3, 2, 4,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_S),
                       53|128,1, 4, 0, 4, 2, 3,
      0,
     36,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                       53|128,1, 3, 0, 1, 2,
      13,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_S),
                       53|128,1, 3, 0, 2, 1,
      0,
     0,
    102, TARGET_VAL(ISD::SUB),
     OPC_RecordChild0,
     OPC_Scope, 63,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_S),
                       53|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_S),
                       53|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_S),
                       53|128,1, 4, 0, 1, 3, 4,
      0,
     34,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_S),
                       53|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_S),
                       53|128,1, 3, 0, 2, 1,
      0,
     0,
    41, TARGET_VAL(AArch64ISD::SMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_S),
                      53|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_S),
                      53|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_S),
                      53|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_S),
                      53|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::SMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_S),
                      53|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_S),
                      53|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_S),
                      53|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_S),
                      53|128,1, 3, 0, 3, 2,
     0,
    36, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_S),
                      53|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_S),
                      53|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_S),
                      53|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_S),
                      53|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_S),
                      53|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_S),
                      53|128,1, 3, 0, 2, 1,
     0,
    0,
   30,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                     53|128,1, 3, 0, 1, 2,
    10, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                     33|128,1, 3, 0, 1, 2,
    0,
   0,
  88|128,6,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 50|128,6,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 60|128,1, TARGET_VAL(AArch64ISD::MUL_PRED),
     OPC_RecordChild0,
     OPC_Scope, 45,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckPredicate7,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitIntegerI32, 127,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                      42|128,1, 2, 3, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                      58|128,1, 3, 5, 0, 2,
     68,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_Scope, 36,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
       OPC_CheckChild0Integer, 127,
       OPC_CheckChild0TypeI64,
       OPC_MoveParent,
       OPC_CheckPredicate7,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitIntegerI32, 127,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUP_ZI_D),
                       42|128,1, 2, 3, 4,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                       58|128,1, 3, 5, 0, 2,
      19,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckType, 58|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                       58|128,1, 3, 2, 0, 2,
      0,
     28,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                      58|128,1, 3, 2, 0, 2,
     40,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_D),
                       58|128,1, 3, 0, 2, 3,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPmZ_D),
                       58|128,1, 3, 0, 3, 2,
      0,
     0,
    49, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_Scope, 24,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/124, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_D),
                      58|128,1, 3, 0, 2, 3,
     19,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/124, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_D),
                      58|128,1, 4, 2, 0, 3, 4,
     0,
    41|128,1, TARGET_VAL(ISD::ADD),
     OPC_Scope, 64,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_D),
                       58|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_D),
                       58|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_D),
                       58|128,1, 4, 0, 1, 3, 4,
      0,
     64,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_D),
                       58|128,1, 4, 0, 2, 3, 4,
      15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MAD_ZPmZZ_D),
                       58|128,1, 4, 0, 3, 2, 4,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLA_ZPmZZ_D),
                       58|128,1, 4, 0, 4, 2, 3,
      0,
     36,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                       58|128,1, 3, 0, 1, 2,
      13,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADD_ZPmZ_D),
                       58|128,1, 3, 0, 2, 1,
      0,
     0,
    102, TARGET_VAL(ISD::SUB),
     OPC_RecordChild0,
     OPC_Scope, 63,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::MUL_PRED),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 15,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_D),
                       58|128,1, 4, 0, 3, 4, 1,
      15,
       OPC_CheckChild2Same, 4,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MSB_ZPmZZ_D),
                       58|128,1, 4, 0, 4, 3, 1,
      15,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MLS_ZPmZZ_D),
                       58|128,1, 4, 0, 1, 3, 4,
      0,
     34,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_Scope, 13,
       OPC_CheckChild2Same, 1,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUB_ZPmZ_D),
                       58|128,1, 3, 0, 1, 2,
      12,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUBR_ZPmZ_D),
                       58|128,1, 3, 0, 2, 1,
      0,
     0,
    41, TARGET_VAL(AArch64ISD::SMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_D),
                      58|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPmZ_D),
                      58|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_D),
                      58|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPmZ_D),
                      58|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::SMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_D),
                      58|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPmZ_D),
                      58|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::UMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_D),
                      58|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPmZ_D),
                      58|128,1, 3, 0, 3, 2,
     0,
    36, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_D),
                      58|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORR_ZPmZ_D),
                      58|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_D),
                      58|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EOR_ZPmZ_D),
                      58|128,1, 3, 0, 2, 1,
     0,
    36, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 13,
      OPC_CheckChild2Same, 1,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_D),
                      58|128,1, 3, 0, 1, 2,
     13,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZPmZ_D),
                      58|128,1, 3, 0, 2, 1,
     0,
    0,
   30,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                     58|128,1, 3, 0, 1, 2,
    10, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                     32|128,1, 3, 0, 1, 2,
    0,
   0,
  15,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_PPPP),
                   31|128,1, 3, 0, 1, 2,
  11|128,5,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 81|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 99, TARGET_VAL(AArch64ISD::FMA_PRED),
     OPC_RecordChild0,
     OPC_Scope, 53,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 66|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       66|128,1, 4, 0, 4, 2, 3,
      14, 72|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       72|128,1, 4, 0, 4, 2, 3,
      0,
     41,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 66|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       66|128,1, 4, 0, 4, 2, 3,
      14, 72|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       72|128,1, 4, 0, 4, 2, 3,
      0,
     0,
    93, TARGET_VAL(AArch64ISD::FADD_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 50,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 66|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       66|128,1, 4, 0, 2, 3, 4,
      14, 72|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       72|128,1, 4, 0, 2, 3, 4,
      0,
     37,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 12, 66|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_H),
                       66|128,1, 3, 0, 2, 3,
      13, 72|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPmZZ),
                       72|128,1, 3, 0, 2, 3,
      0,
     0,
    113, TARGET_VAL(AArch64ISD::FSUB_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 50,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 66|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       66|128,1, 4, 0, 2, 3, 4,
      14, 72|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       72|128,1, 4, 0, 2, 3, 4,
      0,
     57,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 32, 66|128,1,
       OPC_Scope, 14,
        OPC_CheckChild2Same, 2,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_H),
                        66|128,1, 3, 0, 2, 3,
       14,
        OPC_CheckChild2Same, 3,
        OPC_CheckPatternPredicate0,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_H),
                        66|128,1, 3, 0, 3, 2,
       0,
      15, 72|128,1,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPmZZ),
                       72|128,1, 3, 0, 2, 3,
      0,
     0,
    40, TARGET_VAL(AArch64ISD::FMUL_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate7,
     OPC_SwitchType , 12, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_H),
                      66|128,1, 3, 0, 2, 3,
     13, 72|128,1,
      OPC_CheckPatternPredicate, 21,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPmZZ),
                      72|128,1, 3, 0, 2, 3,
     0,
    41, TARGET_VAL(AArch64ISD::FMAXNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_H),
                      66|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_H),
                      66|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMINNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_H),
                      66|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_H),
                      66|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_H),
                      66|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_H),
                      66|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_H),
                      66|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_H),
                      66|128,1, 3, 0, 3, 2,
     0,
    54, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_SwitchType , 22, MVT::f16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 28, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      66|128,1, 3, 2, 0, 4,
     21, MVT::bf16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 72|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 28, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      72|128,1, 3, 2, 0, 3,
     0,
    0,
   50,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 30, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_H),
                      66|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_H),
                      66|128,1, 3, 0, 1, 2,
     0,
    10, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_H),
                     72|128,1, 3, 0, 1, 2,
    0,
   0,
  77|128,5,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 114|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 3|128,1, TARGET_VAL(AArch64ISD::FMA_PRED),
     OPC_RecordChild0,
     OPC_Scope, 69,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       65|128,1, 4, 0, 4, 2, 3,
      13, 77|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                       77|128,1, 4, 0, 4, 2, 3,
      14, 71|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       71|128,1, 4, 0, 4, 2, 3,
      0,
     57,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       65|128,1, 4, 0, 4, 2, 3,
      13, 77|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                       77|128,1, 4, 0, 4, 2, 3,
      14, 71|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       71|128,1, 4, 0, 4, 2, 3,
      0,
     0,
    91, TARGET_VAL(AArch64ISD::FADD_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 66,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       65|128,1, 4, 0, 2, 3, 4,
      13, 77|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                       77|128,1, 4, 0, 2, 3, 4,
      14, 71|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       71|128,1, 4, 0, 2, 3, 4,
      0,
     19,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_S),
                      77|128,1, 3, 0, 2, 3,
     0,
    109, TARGET_VAL(AArch64ISD::FSUB_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 66,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       65|128,1, 4, 0, 2, 3, 4,
      13, 77|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                       77|128,1, 4, 0, 2, 3, 4,
      14, 71|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       71|128,1, 4, 0, 2, 3, 4,
      0,
     37,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_Scope, 14,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_S),
                       77|128,1, 3, 0, 2, 3,
      14,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_S),
                       77|128,1, 3, 0, 3, 2,
      0,
     0,
    22, TARGET_VAL(AArch64ISD::FMUL_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate7,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_S),
                     77|128,1, 3, 0, 2, 3,
    41, TARGET_VAL(AArch64ISD::FMAXNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_S),
                      77|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_S),
                      77|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMINNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_S),
                      77|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_S),
                      77|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_S),
                      77|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_S),
                      77|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_S),
                      77|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_S),
                      77|128,1, 3, 0, 3, 2,
     0,
    78, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_SwitchType , 22, MVT::f16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 28, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      65|128,1, 3, 2, 0, 4,
     22, MVT::f32,
      OPC_CheckPredicate, 137,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 30, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_S),
                      77|128,1, 3, 2, 0, 4,
     21, MVT::bf16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 71|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 28, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      71|128,1, 3, 2, 0, 3,
     0,
    0,
   83,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 30, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_S),
                      65|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                      65|128,1, 3, 0, 1, 2,
     0,
    30, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_S),
                      77|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                      77|128,1, 3, 0, 1, 2,
     0,
    10, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                     71|128,1, 3, 0, 1, 2,
    0,
   0,
  70|128,6,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 74|128,5,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 35|128,1, TARGET_VAL(AArch64ISD::FMA_PRED),
     OPC_RecordChild0,
     OPC_Scope, 85,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       64|128,1, 4, 0, 4, 2, 3,
      13, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                       76|128,1, 4, 0, 4, 2, 3,
      13, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_D),
                       81|128,1, 4, 0, 4, 2, 3,
      14, 70|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       70|128,1, 4, 0, 4, 2, 3,
      0,
     73,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_CheckChild2Same, 4,
      OPC_SwitchType , 13, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       64|128,1, 4, 0, 4, 2, 3,
      13, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                       76|128,1, 4, 0, 4, 2, 3,
      13, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_D),
                       81|128,1, 4, 0, 4, 2, 3,
      14, 70|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       70|128,1, 4, 0, 4, 2, 3,
      0,
     0,
    107, TARGET_VAL(AArch64ISD::FADD_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 82,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_H),
                       64|128,1, 4, 0, 2, 3, 4,
      13, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_S),
                       76|128,1, 4, 0, 2, 3, 4,
      13, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPmZZ_D),
                       81|128,1, 4, 0, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPmZZ),
                       70|128,1, 4, 0, 2, 3, 4,
      0,
     19,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPmZ_D),
                      81|128,1, 3, 0, 2, 3,
     0,
    125, TARGET_VAL(AArch64ISD::FSUB_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 82,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMUL_PRED),
      OPC_CheckChild0Same, 1,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate4,
      OPC_MoveParent,
      OPC_CheckPredicate, 118,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_SwitchType , 13, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_H),
                       64|128,1, 4, 0, 2, 3, 4,
      13, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_S),
                       76|128,1, 4, 0, 2, 3, 4,
      13, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPmZZ_D),
                       81|128,1, 4, 0, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate, 21,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPmZZ),
                       70|128,1, 4, 0, 2, 3, 4,
      0,
     37,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_Scope, 14,
       OPC_CheckChild2Same, 2,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPmZ_D),
                       81|128,1, 3, 0, 2, 3,
      14,
       OPC_CheckChild2Same, 3,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPmZ_D),
                       81|128,1, 3, 0, 3, 2,
      0,
     0,
    22, TARGET_VAL(AArch64ISD::FMUL_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckChild2Same, 2,
     OPC_CheckPredicate7,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPmZ_D),
                     81|128,1, 3, 0, 2, 3,
    41, TARGET_VAL(AArch64ISD::FMAXNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_D),
                      81|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPmZ_D),
                      81|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMINNM_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_D),
                      81|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPmZ_D),
                      81|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMAX_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_D),
                      81|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPmZ_D),
                      81|128,1, 3, 0, 3, 2,
     0,
    41, TARGET_VAL(AArch64ISD::FMIN_PRED),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_Scope, 15,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_D),
                      81|128,1, 3, 0, 2, 3,
     15,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPmZ_D),
                      81|128,1, 3, 0, 3, 2,
     0,
    102, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_SwitchType , 22, MVT::f16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 28, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      64|128,1, 3, 2, 0, 4,
     22, MVT::f32,
      OPC_CheckPredicate, 137,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 30, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_S),
                      76|128,1, 3, 2, 0, 4,
     22, MVT::f64,
      OPC_CheckPredicate, 143,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 32, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_D),
                      81|128,1, 3, 2, 0, 4,
     21, MVT::bf16,
      OPC_CheckPredicate, 95,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 70|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 28, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCPY_ZPmI_H),
                      70|128,1, 3, 2, 0, 3,
     0,
    0,
   116,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 30, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_D),
                      64|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                      64|128,1, 3, 0, 1, 2,
     0,
    30, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_D),
                      76|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                      76|128,1, 3, 0, 1, 2,
     0,
    30, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_D),
                      81|128,1, 4, 2, 0, 3, 4,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                      81|128,1, 3, 0, 1, 2,
     0,
    10, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                     70|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 45|128,4, TARGET_VAL(AArch64ISD::SMULL),
  OPC_Scope, 85,
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv8i16_indexed),
                    MVT::v4i32, 3, 3, 1, 4,
   40,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i32_indexed),
                    MVT::v2i64, 3, 3, 1, 4,
   0,
  79,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 33, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv8i16_indexed),
                    MVT::v4i32, 3, 3, 0, 4,
   33, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i32_indexed),
                    MVT::v2i64, 3, 3, 0, 4,
   0,
  81,
   OPC_RecordChild0,
   OPC_Scope, 38,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i16_indexed),
                    MVT::v4i32, 3, 0, 1, 3,
   38,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv2i32_indexed),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  75,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 31, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i16_indexed),
                    MVT::v4i32, 3, 2, 0, 3,
   31, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv2i32_indexed),
                    MVT::v2i64, 3, 2, 0, 3,
   0,
  123,
   OPC_RecordChild0,
   OPC_Scope, 19,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv16i8_v8i16),
                    MVT::v8i16, 2, 2, 3,
   49,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_Scope, 15,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    28,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i16_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    0,
   49,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_Scope, 15,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    28,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv2i32_indexed),
                     MVT::v2i64, 3, 0, 1, 3,
    0,
   0,
  63,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i16_indexed),
                    MVT::v4i32, 3, 2, 0, 3,
   27, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv2i32_indexed),
                    MVT::v2i64, 3, 2, 0, 3,
   0,
  42,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv8i8_v8i16),
                    MVT::v8i16, 2, 0, 1,
   11, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv4i16_v4i32),
                    MVT::v4i32, 2, 0, 1,
   11, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULLv2i32_v2i64),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 45|128,4, TARGET_VAL(AArch64ISD::UMULL),
  OPC_Scope, 85,
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv8i16_indexed),
                    MVT::v4i32, 3, 3, 1, 4,
   40,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i32_indexed),
                    MVT::v2i64, 3, 3, 1, 4,
   0,
  79,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 33, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat6, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv8i16_indexed),
                    MVT::v4i32, 3, 3, 0, 4,
   33, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i32_indexed),
                    MVT::v2i64, 3, 3, 0, 4,
   0,
  81,
   OPC_RecordChild0,
   OPC_Scope, 38,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i16_indexed),
                    MVT::v4i32, 3, 0, 1, 3,
   38,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv2i32_indexed),
                    MVT::v2i64, 3, 0, 1, 3,
   0,
  75,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 31, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i16_indexed),
                    MVT::v4i32, 3, 2, 0, 3,
   31, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv2i32_indexed),
                    MVT::v2i64, 3, 2, 0, 3,
   0,
  123,
   OPC_RecordChild0,
   OPC_Scope, 19,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv16i8_v8i16),
                    MVT::v8i16, 2, 2, 3,
   49,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_Scope, 15,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv8i16_v4i32),
                     MVT::v4i32, 2, 2, 3,
    28,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i16_indexed),
                     MVT::v4i32, 3, 0, 1, 3,
    0,
   49,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_Scope, 15,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_CheckComplexPat7, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i32_v2i64),
                     MVT::v2i64, 2, 2, 3,
    28,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv2i32_indexed),
                     MVT::v2i64, 3, 0, 1, 3,
    0,
   0,
  63,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27, TARGET_VAL(AArch64ISD::DUPLANE16),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i16_indexed),
                    MVT::v4i32, 3, 2, 0, 3,
   27, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv2i32_indexed),
                    MVT::v2i64, 3, 2, 0, 3,
   0,
  42,
   OPC_RecordChild0,
   OPC_SwitchType , 11, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv8i8_v8i16),
                    MVT::v8i16, 2, 0, 1,
   11, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv4i16_v4i32),
                    MVT::v4i32, 2, 0, 1,
   11, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULLv2i32_v2i64),
                    MVT::v2i64, 2, 0, 1,
   0,
  0,
 109, TARGET_VAL(AArch64ISD::DUPLANE8),
  OPC_Scope, 69,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v8i8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8b), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i8, 1, 1,
   24, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv16b), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i8, 1, 1,
   0,
  36,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i8lane),
                    MVT::v8i8, 2, 0, 2,
   9, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv16i8lane),
                    MVT::v16i8, 2, 0, 2,
   0,
  0,
 49|128,1, TARGET_VAL(AArch64ISD::DUPLANE16),
  OPC_Scope, 69,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i16, 1, 1,
   24, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 1, 1,
   0,
  104,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                     MVT::v4i16, 2, 0, 2,
    9, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                     MVT::v8i16, 2, 0, 2,
    0,
   32,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4f16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                     MVT::v4f16, 2, 0, 2,
    8, MVT::v8f16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                     MVT::v8f16, 2, 0, 2,
    0,
   32,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4bf16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                     MVT::v4bf16, 2, 0, 2,
    8, MVT::v8bf16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                     MVT::v8bf16, 2, 0, 2,
    0,
   0,
  0,
 21|128,1, TARGET_VAL(AArch64ISD::DUPLANE32),
  OPC_Scope, 69,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::INSERT_SUBVECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2s), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 1, 1,
   24, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4s), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 1, 1,
   0,
  76,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 9, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i32lane),
                     MVT::v2i32, 2, 0, 2,
    9, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i32lane),
                     MVT::v4i32, 2, 0, 2,
    0,
   37,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_SwitchType , 9, 2|128,1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i32lane),
                     2|128,1, 2, 0, 2,
    9, 4|128,1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i32lane),
                     4|128,1, 2, 0, 2,
    0,
   0,
  0,
 60|128,7, TARGET_VAL(AArch64ISD::EXT),
  OPC_Scope, 80|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_RecordChild0,
   OPC_Scope, 7|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_Scope, 30,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 3, 4,
    30,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 3, 4,
    30,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 3, 4,
    30,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v1i64,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 3, 4,
    0,
   47,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 8, 9,
   47,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 8, 9,
   47,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 8, 9,
   47,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 8, 9,
   0,
  52|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 49,
    OPC_CheckPredicate, 82,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_Scope, 28,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0|128,1,
     OPC_EmitIntegerI32, AArch64::zsub0,
     OPC_EmitIntegerI32, AArch64::zsub1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     119|128,1, 5, 3, 0, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_B),
                     42|128,1, 2, 6, 7,
    11,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                     42|128,1, 3, 0, 1, 3,
    0,
   119,
    OPC_MoveParent,
    OPC_SwitchType , 23, MVT::v8i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                      MVT::v8i8, 3, 0, 1, 3,
     9,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                      MVT::v8i8, 3, 0, 1, 3,
     0,
    23, MVT::v16i8,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v16i8, 3, 0, 1, 3,
     9,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::v16i8, 3, 0, 1, 3,
     0,
    9, MVT::v4i16,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                     MVT::v4i16, 3, 0, 1, 3,
    9, MVT::v8i16,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::v8i16, 3, 0, 1, 3,
    9, MVT::v2i32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                     MVT::v2i32, 3, 0, 1, 3,
    9, MVT::v4i32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::v4i32, 3, 0, 1, 3,
    9, MVT::v1i64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                     MVT::v1i64, 3, 0, 1, 3,
    9, MVT::v2i64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::v2i64, 3, 0, 1, 3,
    0,
   0,
  68|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_RecordChild0,
   OPC_Scope, 2|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    OPC_CheckChild0Same, 0,
    OPC_Scope, 52,
     OPC_CheckChild1Integer, 4,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::v4f16,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 3, 4,
     18, MVT::v4bf16,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 2,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 3, 4,
     0,
    32,
     OPC_CheckChild1Integer, 2,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 3, 4,
    32,
     OPC_CheckChild1Integer, 1,
     OPC_CheckChild1TypeI64,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckType, 21|128,1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 2,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     21|128,1, 2, 3, 4,
    0,
   84,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 33, MVT::v4f16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 36, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 5, 7,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4f16, 2, 8, 9,
    33, MVT::v4bf16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::f128, 3, 3, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 36, 6,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 5, 7,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4bf16, 2, 8, 9,
    0,
   49,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 8, 9,
   49,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 21|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::f128, 3, 3, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 36, 6,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 5, 7,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    21|128,1, 2, 8, 9,
   0,
  107,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4f16,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                    MVT::v4f16, 3, 0, 1, 3,
   9, MVT::v8f16,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::v8f16, 3, 0, 1, 3,
   9, MVT::v4bf16,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                    MVT::v4bf16, 3, 0, 1, 3,
   9, MVT::v8bf16,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::v8bf16, 3, 0, 1, 3,
   10, 2|128,1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                    2|128,1, 3, 0, 1, 3,
   10, 4|128,1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                    4|128,1, 3, 0, 1, 3,
   10, 21|128,1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv8i8),
                    21|128,1, 3, 0, 1, 3,
   10, 22|128,1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXTv16i8),
                    22|128,1, 3, 0, 1, 3,
   0,
  0,
 13|128,15, TARGET_VAL(ISD::MLOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 107|128,6,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 86|128,2, 58|128,1,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/33, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/33, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 5,
    0,
   0|128,2, 53|128,1,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 4, 5,
    0,
   42|128,1, 48|128,1,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    21,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 4, 5,
    0,
   84, 42|128,1,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_Scope, 18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 4, 5,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 4, 5,
    19,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRR), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 4, 5,
    0,
   0,
  67|128,3,
   OPC_CheckChild1TypeI64,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_SwitchType , 42|128,1, 58|128,1,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 119,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 1, 4,
    0,
   0|128,1, 53|128,1,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 77,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 1, 4,
    0,
   86, 48|128,1,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_Scope, 20,
     OPC_CheckPredicate, 55,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 1, 4,
    20,
     OPC_CheckPredicate, 57,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     48|128,1, 3, 2, 1, 4,
    0,
   44, 42|128,1,
    OPC_CheckChild3Type, 35|128,1,
    OPC_RecordChild4,
    OPC_Scope, 18,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 1, 4,
    18,
     OPC_CheckPredicate, 78,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                     42|128,1, 3, 2, 1, 4,
    0,
   0,
  3|128,3,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 36|128,1,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 36, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 2, 4, 5,
     0,
    36, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      70|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      70|128,1, 3, 2, 4, 5,
     0,
    36, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 2, 4, 5,
     0,
    36, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      81|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D), 0|OPFL_Chain|OPFL_MemRefs,
                      81|128,1, 3, 2, 4, 5,
     0,
    0,
   125,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 36, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 4, 5,
     0,
    36, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 4, 5,
     0,
    36, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 4, 5,
     0,
    0,
   86,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 36, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      66|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                      66|128,1, 3, 2, 4, 5,
     0,
    36, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 15,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      72|128,1, 3, 2, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H), 0|OPFL_Chain|OPFL_MemRefs,
                      72|128,1, 3, 2, 4, 5,
     0,
    0,
   0,
  79|128,1,
   OPC_CheckChild1TypeI64,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_Scope, 84,
    OPC_CheckChild3Type, 32|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     64|128,1, 3, 2, 1, 4,
    16, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     70|128,1, 3, 2, 1, 4,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     76|128,1, 3, 2, 1, 4,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     81|128,1, 3, 2, 1, 4,
    0,
   65,
    OPC_CheckChild3Type, 33|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     65|128,1, 3, 2, 1, 4,
    16, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     71|128,1, 3, 2, 1, 4,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     77|128,1, 3, 2, 1, 4,
    0,
   46,
    OPC_CheckChild3Type, 34|128,1,
    OPC_RecordChild4,
    OPC_CheckPredicate, 58,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     66|128,1, 3, 2, 1, 4,
    16, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     72|128,1, 3, 2, 1, 4,
    0,
   0,
  0,
 42|128,3, TARGET_VAL(ISD::AssertZext),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AssertZext),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  8|128,1, TARGET_VAL(ISD::AssertSext),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  3|128,1, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  0,
 42|128,3, TARGET_VAL(ISD::AssertSext),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::AssertZext),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  8|128,1, TARGET_VAL(ISD::AssertSext),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  3|128,1, TARGET_VAL(ISD::TRUNCATE),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::AssertZext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   41, TARGET_VAL(ISD::AssertSext),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   36, TARGET_VAL(ISD::TRUNCATE),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v8i16),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv8i8),
                     MVT::v8i8, 1, 2,
    13, MVT::v4i16,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1v4i32),
                     MVT::f128, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::XTNv4i16),
                     MVT::v4i16, 1, 2,
    0,
   0,
  0,
 5|128,7, TARGET_VAL(AArch64ISD::DUP_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 46|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_Scope, 26,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/58, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    42|128,1, 3, 0, 4, 5,
   74,
    OPC_CheckPredicate2,
    OPC_CheckPredicate0,
    OPC_SwitchType , 44, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 17, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 0, 4, 5,
     17, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 0, 4, 5,
     0,
    22, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/58, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 0, 4, 5,
    0,
   74,
    OPC_CheckPredicate3,
    OPC_CheckPredicate0,
    OPC_SwitchType , 44, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 17, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 0, 4, 5,
     17, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_1,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 0, 4, 5,
     0,
    22, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/58, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 0, 4, 5,
    0,
   27,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/56, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 0, 4, 5,
   53,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 22, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 0, 4, 5,
    22, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 0, 4, 5,
    0,
   53,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 22, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 0, 4, 5,
    22, MVT::i64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 0, 4, 5,
    0,
   25,
    OPC_CheckPredicate, 23,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 0, 4, 5,
   26,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 0, 4, 5,
   26,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 0, 4, 5,
   25,
    OPC_CheckPredicate, 23,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/125, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RD_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 0, 4, 5,
   0,
  64|128,1,
   OPC_RecordChild1,
   OPC_Scope, 11|128,1,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_SwitchType , 42, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 28,
      OPC_CheckComplexPat, /*CP*/121, /*#*/1,
      OPC_Scope, 11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_B),
                       42|128,1, 3, 0, 3, 4,
      10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_B),
                       42|128,1, 4, 2, 0, 3, 4,
      0,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_B),
                      42|128,1, 3, 2, 0, 1,
     0,
    42, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 28,
      OPC_CheckComplexPat, /*CP*/122, /*#*/1,
      OPC_Scope, 11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_H),
                       48|128,1, 3, 0, 3, 4,
      10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_H),
                       48|128,1, 4, 2, 0, 3, 4,
      0,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_H),
                      48|128,1, 3, 2, 0, 1,
     0,
    42, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 28,
      OPC_CheckComplexPat, /*CP*/123, /*#*/1,
      OPC_Scope, 11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_S),
                       53|128,1, 3, 0, 3, 4,
      10,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_S),
                       53|128,1, 4, 2, 0, 3, 4,
      0,
     9,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_S),
                      53|128,1, 3, 2, 0, 1,
     0,
    0,
   47,
    OPC_CheckChild1TypeI64,
    OPC_RecordChild2,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 28,
     OPC_CheckComplexPat, /*CP*/124, /*#*/1,
     OPC_Scope, 11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPzI_D),
                      58|128,1, 3, 0, 3, 4,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmI_D),
                      58|128,1, 4, 2, 0, 3, 4,
     0,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmR_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  27|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_CheckPredicate, 23,
   OPC_SwitchType , 67, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 66|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     66|128,1, 3, 0, 4, 5,
    18, 65|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     65|128,1, 3, 0, 4, 5,
    18, 64|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/56, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     64|128,1, 3, 0, 4, 5,
    0,
   46, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 18, 77|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/65, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     77|128,1, 3, 0, 4, 5,
    18, 76|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/65, /*#*/2,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_1,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     76|128,1, 3, 0, 4, 5,
    0,
   23, MVT::f64,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate, 67,
    OPC_CheckComplexPat, /*CP*/125, /*#*/2,
    OPC_CheckComplexPat2, /*#*/3,
    OPC_EmitMergeInputChains1_1,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RD_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    81|128,1, 3, 0, 4, 5,
   0,
  114,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                     64|128,1, 3, 2, 0, 1,
    0,
   31,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_S),
                     76|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_S),
                     77|128,1, 3, 2, 0, 1,
    0,
   16,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_D),
                    81|128,1, 3, 2, 0, 1,
   16,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CPY_ZPmV_H),
                    72|128,1, 3, 2, 0, 1,
   0,
  0,
 33|128,2, TARGET_VAL(AArch64ISD::ADDP),
  OPC_Scope, 85,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_CheckChild0Same, 0,
   OPC_Scope, 22,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv4i32),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 2,
   22,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv8i16),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
   22,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv16i8),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 1, 2,
   0,
  74,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i64),
                    MVT::v2i64, 2, 0, 1,
   0,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
   OPC_CheckChild0Same, 0,
   OPC_Scope, 24,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv4f32),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 1, 2,
   22,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::FADDPv8f16),
                    MVT::f128, 2, 0, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4f16, 2, 1, 2,
   0,
  60,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v4f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f16),
                    MVT::v4f16, 2, 0, 1,
   8, MVT::v8f16,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv8f16),
                    MVT::v8f16, 2, 0, 1,
   9, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f32),
                    2|128,1, 2, 0, 1,
   9, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv4f32),
                    4|128,1, 2, 0, 1,
   9, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDPv2f64),
                    22|128,1, 2, 0, 1,
   0,
  0,
 12|128,25, TARGET_VAL(ISD::MGATHER),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 47|128,19,
   OPC_CheckChild2Type, 32|128,1,
   OPC_RecordChild3,
   OPC_Scope, 61|128,5,
    OPC_CheckChild3TypeI64,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 89|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 110,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 111,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 112,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     0,
    89|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 110,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 111,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 112,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     0,
    0,
   21|128,2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 72,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 19,
      OPC_CheckPredicate, 110,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 5,
     19,
      OPC_CheckPredicate, 111,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 5,
     19,
      OPC_CheckPredicate, 112,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 5,
     0,
    81,
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 22,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 9, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     22,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 9, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     22,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 9, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     0,
    81,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 22,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 10, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     22,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 10, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     22,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 10, 5,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 4, 6,
     0,
    32,
     OPC_CheckPredicate, 97,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_CheckPredicate, 15,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 11, 5,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 2, 4, 6,
    0,
   0|128,8,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 83|128,2,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 110,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 111,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 112,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     0,
    76|128,2,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckType, 58|128,1,
     OPC_Scope, 18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 24,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 110,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 111,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 112,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 71,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 72,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 73,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 104,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 105,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 106,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     18,
      OPC_CheckPredicate, 52,
      OPC_CheckPredicate, 15,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D), 0|OPFL_Chain|OPFL_MemRefs,
                      58|128,1, 3, 2, 3, 4,
     0,
    88|128,2,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 39|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_CheckPredicate, 52,
      OPC_Scope, 72,
       OPC_CheckPredicate, 24,
       OPC_SwitchType , 14, 64|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        64|128,1, 3, 2, 3, 4,
       14, 76|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        76|128,1, 3, 2, 3, 4,
       14, 81|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        81|128,1, 3, 2, 3, 4,
       14, 70|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        70|128,1, 3, 2, 3, 4,
       0,
      72,
       OPC_CheckPredicate, 15,
       OPC_SwitchType , 14, 64|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        64|128,1, 3, 2, 3, 4,
       14, 76|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        76|128,1, 3, 2, 3, 4,
       14, 81|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        81|128,1, 3, 2, 3, 4,
       14, 70|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        70|128,1, 3, 2, 3, 4,
       0,
      0,
     39|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_CheckPredicate, 52,
      OPC_Scope, 72,
       OPC_CheckPredicate, 24,
       OPC_SwitchType , 14, 64|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        64|128,1, 3, 2, 3, 4,
       14, 76|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        76|128,1, 3, 2, 3, 4,
       14, 81|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        81|128,1, 3, 2, 3, 4,
       14, 70|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                        70|128,1, 3, 2, 3, 4,
       0,
      72,
       OPC_CheckPredicate, 15,
       OPC_SwitchType , 14, 64|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        64|128,1, 3, 2, 3, 4,
       14, 76|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        76|128,1, 3, 2, 3, 4,
       14, 81|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        81|128,1, 3, 2, 3, 4,
       14, 70|128,1,
        OPC_CheckPatternPredicate4,
        OPC_CheckComplexPat2, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                        70|128,1, 3, 2, 3, 4,
       0,
      0,
     0,
    0,
   11|128,1,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI64,
    OPC_Scope, 32,
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_CheckPredicate, 15,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 9, 5,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     64|128,1, 3, 2, 4, 6,
    32,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_CheckPredicate, 15,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 10, 5,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     76|128,1, 3, 2, 4, 6,
    32,
     OPC_CheckPredicate, 97,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_CheckPredicate, 15,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 11, 5,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     81|128,1, 3, 2, 4, 6,
    32,
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_CheckPredicate, 15,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 9, 5,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     70|128,1, 3, 2, 4, 6,
    0,
   66|128,2,
    OPC_CheckChild3TypeI64,
    OPC_Scope, 33|128,1,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 52,
     OPC_Scope, 72,
      OPC_CheckPredicate, 24,
      OPC_SwitchType , 14, 64|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       64|128,1, 3, 2, 3, 4,
      14, 76|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       76|128,1, 3, 2, 3, 4,
      14, 81|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       70|128,1, 3, 2, 3, 4,
      0,
     72,
      OPC_CheckPredicate, 15,
      OPC_SwitchType , 14, 64|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                       64|128,1, 3, 2, 3, 4,
      14, 76|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                       76|128,1, 3, 2, 3, 4,
      14, 81|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                       70|128,1, 3, 2, 3, 4,
      0,
     0,
    26|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 58|128,1,
     OPC_CheckPredicate, 52,
     OPC_Scope, 72,
      OPC_CheckPredicate, 24,
      OPC_SwitchType , 14, 64|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       64|128,1, 3, 2, 3, 4,
      14, 76|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       76|128,1, 3, 2, 3, 4,
      14, 81|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                       70|128,1, 3, 2, 3, 4,
      0,
     72,
      OPC_CheckPredicate, 15,
      OPC_SwitchType , 14, 64|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                       64|128,1, 3, 2, 3, 4,
      14, 76|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D), 0|OPFL_Chain|OPFL_MemRefs,
                       76|128,1, 3, 2, 3, 4,
      14, 81|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D), 0|OPFL_Chain|OPFL_MemRefs,
                       81|128,1, 3, 2, 3, 4,
      14, 70|128,1,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D), 0|OPFL_Chain|OPFL_MemRefs,
                       70|128,1, 3, 2, 3, 4,
      0,
     0,
    0,
   0,
  83|128,5,
   OPC_CheckChild2Type, 33|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_RecordChild4,
   OPC_CheckChild4Type, 53|128,1,
   OPC_Scope, 21,
    OPC_CheckPredicate, 71,
    OPC_CheckPredicate, 24,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 72,
    OPC_CheckPredicate, 24,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 73,
    OPC_CheckPredicate, 24,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 52,
    OPC_CheckPredicate, 24,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 110,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 111,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 112,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 71,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 72,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 73,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 52,
    OPC_CheckPredicate, 15,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 71,
    OPC_CheckPredicate, 94,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 72,
    OPC_CheckPredicate, 94,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 73,
    OPC_CheckPredicate, 94,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 52,
    OPC_CheckPredicate, 94,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 110,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 111,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 112,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 71,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 72,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   21,
    OPC_CheckPredicate, 73,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 2, 3, 4,
   120|128,1,
    OPC_CheckPredicate, 52,
    OPC_Scope, 19,
     OPC_CheckPredicate, 67,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 2, 3, 4,
    55,
     OPC_CheckPredicate, 24,
     OPC_SwitchType , 14, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 3, 4,
     14, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 3, 4,
     14, 71|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 3, 4,
     0,
    55,
     OPC_CheckPredicate, 15,
     OPC_SwitchType , 14, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 3, 4,
     14, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 3, 4,
     14, 71|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 3, 4,
     0,
    55,
     OPC_CheckPredicate, 94,
     OPC_SwitchType , 14, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 3, 4,
     14, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 3, 4,
     14, 71|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 3, 4,
     0,
    55,
     OPC_CheckPredicate, 67,
     OPC_SwitchType , 14, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 2, 3, 4,
     14, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 2, 3, 4,
     14, 71|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW), 0|OPFL_Chain|OPFL_MemRefs,
                      71|128,1, 3, 2, 3, 4,
     0,
    0,
   0,
  0,
 16|128,3, TARGET_VAL(AArch64ISD::MUL_PRED),
  OPC_RecordChild0,
  OPC_Scope, 114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::STEP_VECTOR),
   OPC_CheckChild0Integer, 1,
   OPC_Scope, 26,
    OPC_CheckChild0Type, MVT::i8,
    OPC_CheckPredicate4,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                    42|128,1, 2, 2, 1,
   26,
    OPC_CheckChild0Type, MVT::i16,
    OPC_CheckPredicate4,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                    48|128,1, 2, 2, 1,
   25,
    OPC_CheckChild0TypeI32,
    OPC_CheckPredicate4,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                    53|128,1, 2, 2, 1,
   25,
    OPC_CheckChild0TypeI64,
    OPC_CheckPredicate4,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                    58|128,1, 2, 2, 1,
   0,
  24|128,2,
   OPC_RecordChild1,
   OPC_Scope, 27|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_Scope, 64,
     OPC_CheckChild0Integer, 127,
     OPC_Scope, 43,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 10, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B_UNDEF),
                       42|128,1, 3, 1, 0, 1,
      10, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H_UNDEF),
                       48|128,1, 3, 1, 0, 1,
      10, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S_UNDEF),
                       53|128,1, 3, 1, 0, 1,
      0,
     15,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D_UNDEF),
                      58|128,1, 3, 1, 0, 1,
     0,
    83,
     OPC_RecordChild0,
     OPC_Scope, 58,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 15, 42|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/0,
       OPC_CheckComplexPat, /*CP*/71, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZI_B),
                       42|128,1, 2, 1, 3,
      15, 48|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/0,
       OPC_CheckComplexPat, /*CP*/71, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZI_H),
                       48|128,1, 2, 1, 3,
      15, 53|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/0,
       OPC_CheckComplexPat, /*CP*/71, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZI_S),
                       53|128,1, 2, 1, 3,
      0,
     20,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/137, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZI_D),
                      58|128,1, 2, 1, 3,
     0,
    0,
   119,
    OPC_RecordChild2,
    OPC_SwitchType , 26, 42|128,1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZ_B),
                      42|128,1, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPZZ_B_UNDEF),
                      42|128,1, 3, 0, 1, 2,
     0,
    26, 48|128,1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZ_H),
                      48|128,1, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPZZ_H_UNDEF),
                      48|128,1, 3, 0, 1, 2,
     0,
    26, 53|128,1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZ_S),
                      53|128,1, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPZZ_S_UNDEF),
                      53|128,1, 3, 0, 1, 2,
     0,
    26, 58|128,1,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZZZ_D),
                      58|128,1, 2, 1, 2,
     10,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MUL_ZPZZ_D_UNDEF),
                      58|128,1, 3, 0, 1, 2,
     0,
    0,
   0,
  0,
 32|128,29, TARGET_VAL(ISD::SPLAT_VECTOR),
  OPC_Scope, 15|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckPredicate1,
   OPC_Scope, 32,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/58, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    42|128,1, 3, 5, 2, 3,
   93,
    OPC_CheckPredicate2,
    OPC_CheckPredicate0,
    OPC_SwitchType , 57, MVT::i32,
     OPC_MoveParent,
     OPC_SwitchType , 24, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 5, 2, 3,
     24, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 5, 2, 3,
     0,
    28, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/58, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   93,
    OPC_CheckPredicate3,
    OPC_CheckPredicate0,
    OPC_SwitchType , 57, MVT::i32,
     OPC_MoveParent,
     OPC_SwitchType , 24, 48|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      48|128,1, 3, 5, 2, 3,
     24, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/58, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      53|128,1, 3, 5, 2, 3,
     0,
    28, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/58, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   33,
    OPC_CheckPredicate, 36,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/56, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    48|128,1, 3, 5, 2, 3,
   65,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 28, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    28, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   65,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 14,
    OPC_SwitchType , 28, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     53|128,1, 3, 5, 2, 3,
    28, MVT::i64,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/56, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     58|128,1, 3, 5, 2, 3,
    0,
   31,
    OPC_CheckPredicate, 23,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    53|128,1, 3, 5, 2, 3,
   32,
    OPC_CheckPredicate2,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   32,
    OPC_CheckPredicate3,
    OPC_CheckPredicate, 34,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/65, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RSW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   31,
    OPC_CheckPredicate, 23,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/125, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                    31|128,1, 1, 4,
    OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RD_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    58|128,1, 3, 5, 2, 3,
   0,
  110,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 26,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 1,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    58|128,1, 3, 0, 2, 3,
   78,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 22, 53|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     53|128,1, 3, 0, 2, 3,
    22, 48|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     48|128,1, 3, 0, 2, 3,
    22, 42|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 0, 2, 3,
    0,
   0,
  69,
   OPC_RecordChild0,
   OPC_Scope, 48,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/121, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_B),
                     42|128,1, 2, 1, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/122, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     48|128,1, 2, 1, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/123, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     53|128,1, 2, 1, 2,
    0,
   16,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/124, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_D),
                    58|128,1, 2, 1, 2,
   0,
  52|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild0Type, 42|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 122,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_B),
                    42|128,1, 2, 0, 2,
   27,
    OPC_CheckChild0Type, 48|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                    48|128,1, 2, 0, 2,
   27,
    OPC_CheckChild0Type, 53|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                    53|128,1, 2, 0, 2,
   26,
    OPC_CheckChild0Type, 58|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    58|128,1, 2, 0, 2,
   39,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 122,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_B),
                    42|128,1, 2, 4, 5,
   39,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 122,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_B),
                    42|128,1, 2, 4, 5,
   39,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                    48|128,1, 2, 4, 5,
   39,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                    48|128,1, 2, 4, 5,
   39,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                    53|128,1, 2, 4, 5,
   39,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                    53|128,1, 2, 4, 5,
   38,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    58|128,1, 2, 4, 5,
   38,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    58|128,1, 2, 4, 5,
   0,
  51,
   OPC_RecordChild0,
   OPC_Scope, 31,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 11, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/96, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     48|128,1, 1, 1,
    11, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/97, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     53|128,1, 1, 1,
    0,
   15,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/98, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                    58|128,1, 1, 1,
   0,
  55,
   OPC_CheckImmAllOnesV,
   OPC_SwitchType , 10, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_B),
                    35|128,1, 1, 0,
   10, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_H),
                    34|128,1, 1, 0,
   10, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_S),
                    33|128,1, 1, 0,
   10, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 31,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_D),
                    32|128,1, 1, 0,
   0,
  53,
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 8, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_B),
                     42|128,1, 1, 0,
    8, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_H),
                     48|128,1, 1, 0,
    8, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_S),
                     53|128,1, 1, 0,
    0,
   12,
    OPC_CheckChild0TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_D),
                    58|128,1, 1, 0,
   0,
  53,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 7, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PFALSE),
                    35|128,1, 0,
   7, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PFALSE),
                    34|128,1, 0,
   7, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PFALSE),
                    33|128,1, 0,
   7, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PFALSE),
                    32|128,1, 0,
   7, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PFALSE),
                    31|128,1, 0,
   0,
  21,
   OPC_CheckImmAllOnesV,
   OPC_CheckType, 31|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                   31|128,1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                   31|128,1, 1, 1,
  44|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 61|128,1, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckPredicate, 23,
    OPC_SwitchType , 87, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 25, 66|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/56, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      66|128,1, 3, 5, 2, 3,
     25, 65|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/56, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      65|128,1, 3, 5, 2, 3,
     25, 64|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/56, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      64|128,1, 3, 5, 2, 3,
     0,
    59, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 25, 77|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/65, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      77|128,1, 3, 5, 2, 3,
     25, 76|128,1,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/65, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 31,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                      31|128,1, 1, 4,
      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      76|128,1, 3, 5, 2, 3,
     0,
    29, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate, 67,
     OPC_CheckComplexPat, /*CP*/125, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 31,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                     31|128,1, 1, 4,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1RD_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     81|128,1, 3, 5, 2, 3,
    0,
   119|128,1, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 32,
    OPC_SwitchType , 26, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                     MVT::f128, 1, 1,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     81|128,1, 3, 0, 2, 3,
    53, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 22, 76|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      76|128,1, 3, 0, 2, 3,
     22, 77|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      77|128,1, 3, 0, 2, 3,
     0,
    78, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 22, 64|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      64|128,1, 3, 0, 2, 3,
     22, 65|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      65|128,1, 3, 0, 2, 3,
     22, 66|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      66|128,1, 3, 0, 2, 3,
     0,
    78, MVT::bf16,
     OPC_MoveParent,
     OPC_SwitchType , 22, 70|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      70|128,1, 3, 0, 2, 3,
     22, 71|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      71|128,1, 3, 0, 2, 3,
     22, 72|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                      MVT::f128, 1, 1,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                      72|128,1, 3, 0, 2, 3,
     0,
    0,
   105|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 56,
     OPC_CheckChild0Type, 66|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 68,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 10, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      64|128,1, 2, 0, 2,
     10, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      65|128,1, 2, 0, 2,
     10, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      66|128,1, 2, 0, 2,
     0,
    56,
     OPC_CheckChild0Type, 72|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 68,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveParent,
     OPC_SwitchType , 10, 70|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      70|128,1, 2, 0, 2,
     10, 71|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      71|128,1, 2, 0, 2,
     10, 72|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                      72|128,1, 2, 0, 2,
     0,
    43,
     OPC_CheckChild0Type, 77|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 10, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      76|128,1, 2, 0, 2,
     10, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      77|128,1, 2, 0, 2,
     0,
    27,
     OPC_CheckChild0Type, 81|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                     81|128,1, 2, 0, 2,
    43,
     OPC_CheckChild0Type, 65|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 10, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      64|128,1, 2, 0, 2,
     10, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      65|128,1, 2, 0, 2,
     0,
    43,
     OPC_CheckChild0Type, 71|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 20,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveParent,
     OPC_SwitchType , 10, 70|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      70|128,1, 2, 0, 2,
     10, 71|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                      71|128,1, 2, 0, 2,
     0,
    27,
     OPC_CheckChild0Type, 64|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                     64|128,1, 2, 0, 2,
    27,
     OPC_CheckChild0Type, 76|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                     76|128,1, 2, 0, 2,
    27,
     OPC_CheckChild0Type, 70|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate5,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_CheckType, MVT::bf16,
     OPC_MoveParent,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                     70|128,1, 2, 0, 2,
    0,
   0,
  37|128,1,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_SwitchType , 50, MVT::f16,
    OPC_CheckPredicate, 95,
    OPC_MoveParent,
    OPC_SwitchType , 12, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 28, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     66|128,1, 1, 2,
    12, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 28, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     65|128,1, 1, 2,
    12, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 28, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     64|128,1, 1, 2,
    0,
   35, MVT::f32,
    OPC_CheckPredicate, 137,
    OPC_MoveParent,
    OPC_SwitchType , 12, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 30, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_S),
                     77|128,1, 1, 2,
    12, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitNodeXForm, 30, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_S),
                     76|128,1, 1, 2,
    0,
   18, MVT::f64,
    OPC_CheckPredicate, 143,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_D),
                    81|128,1, 1, 2,
   47, MVT::bf16,
    OPC_CheckPredicate, 95,
    OPC_MoveParent,
    OPC_SwitchType , 11, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 28, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     72|128,1, 1, 1,
    11, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 28, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     71|128,1, 1, 1,
    11, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 28, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDUP_ZI_H),
                     70|128,1, 1, 1,
    0,
   0,
  97|128,4,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 94,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 23, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     64|128,1, 2, 4, 5,
    23, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     65|128,1, 2, 4, 5,
    23, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     66|128,1, 2, 4, 5,
    0,
   94,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 23, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     64|128,1, 2, 4, 5,
    23, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     65|128,1, 2, 4, 5,
    23, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     66|128,1, 2, 4, 5,
    0,
   94,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_SwitchType , 23, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     70|128,1, 2, 4, 5,
    23, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     71|128,1, 2, 4, 5,
    23, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     72|128,1, 2, 4, 5,
    0,
   94,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 68,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_MoveParent,
    OPC_SwitchType , 23, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     70|128,1, 2, 4, 5,
    23, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     71|128,1, 2, 4, 5,
    23, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     72|128,1, 2, 4, 5,
    0,
   69,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 23, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     76|128,1, 2, 4, 5,
    23, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     77|128,1, 2, 4, 5,
    0,
   69,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 23, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     76|128,1, 2, 4, 5,
    23, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     42|128,1, 3, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     77|128,1, 2, 4, 5,
    0,
   40,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    81|128,1, 2, 4, 5,
   40,
    OPC_CheckChild0Type, 21|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate5,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI64, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    42|128,1, 3, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    81|128,1, 2, 4, 5,
   0,
  19|128,1,
   OPC_RecordChild0,
   OPC_Scope, 46,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 11, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/138, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     66|128,1, 1, 1,
    11, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/138, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     65|128,1, 1, 1,
    11, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/138, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     64|128,1, 1, 1,
    0,
   32,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 11, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/147, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     77|128,1, 1, 1,
    11, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/147, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     76|128,1, 1, 1,
    0,
   16,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/158, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                    81|128,1, 1, 1,
   46,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_SwitchType , 11, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/139, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     72|128,1, 1, 1,
    11, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/139, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     71|128,1, 1, 1,
    11, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/139, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPM_ZI),
                     70|128,1, 1, 1,
    0,
   0,
  42|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_CheckPredicate, 32,
   OPC_SwitchType , 51, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 13, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     66|128,1, 2, 0, 1,
    13, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     65|128,1, 2, 0, 1,
    13, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     64|128,1, 2, 0, 1,
    0,
   35, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 13, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     77|128,1, 2, 0, 1,
    13, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_S),
                     76|128,1, 2, 0, 1,
    0,
   17, MVT::f64,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_D),
                    81|128,1, 2, 0, 1,
   51, MVT::bf16,
    OPC_MoveParent,
    OPC_SwitchType , 13, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     72|128,1, 2, 0, 1,
    13, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     71|128,1, 2, 0, 1,
    13, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZI_H),
                     70|128,1, 2, 0, 1,
    0,
   0,
  57|128,3,
   OPC_RecordChild0,
   OPC_Scope, 11|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 63, MVT::f16,
     OPC_MoveParent,
     OPC_SwitchType , 17, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 29, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_H),
                      64|128,1, 1, 2,
     17, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 29, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_H),
                      65|128,1, 1, 2,
     17, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 29, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_H),
                      66|128,1, 1, 2,
     0,
    43, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 17, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 29, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_S),
                      76|128,1, 1, 2,
     17, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNodeXForm, 29, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_S),
                      77|128,1, 1, 2,
     0,
    21, MVT::f64,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNodeXForm, 34, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                     MVT::i64, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZR_D),
                     81|128,1, 1, 2,
    0,
   97,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 28, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     66|128,1, 2, 3, 4,
    28, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     65|128,1, 2, 3, 4,
    28, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     64|128,1, 2, 3, 4,
    0,
   66,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 28, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     77|128,1, 2, 3, 4,
    28, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_S),
                     76|128,1, 2, 3, 4,
    0,
   33,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 1, 0, 2,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_D),
                    81|128,1, 2, 3, 4,
   97,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_SwitchType , 28, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     72|128,1, 2, 3, 4,
    28, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     71|128,1, 2, 3, 4,
    28, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUP_ZZI_H),
                     70|128,1, 2, 3, 4,
    0,
   0,
  0,
 64, TARGET_VAL(AArch64ISD::PMULL),
  OPC_RecordChild0,
  OPC_SwitchType , 28, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_Scope, 13,
    OPC_CheckComplexPat, /*CP*/11, /*#*/0,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLv16i8),
                    MVT::v8i16, 2, 2, 3,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLv8i8),
                    MVT::v8i16, 2, 0, 1,
   0,
  29, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 90,
   OPC_Scope, 13,
    OPC_CheckComplexPat, /*CP*/120, /*#*/0,
    OPC_CheckComplexPat, /*CP*/120, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLv2i64),
                    MVT::v16i8, 2, 2, 3,
   7,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PMULLv1i64),
                    MVT::v16i8, 2, 0, 1,
   0,
  0,
 20|128,1, TARGET_VAL(AArch64ISD::SMAX_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 87,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 15, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZI_B),
                     42|128,1, 2, 1, 3,
    15, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZI_H),
                     48|128,1, 2, 1, 3,
    15, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZI_S),
                     53|128,1, 2, 1, 3,
    0,
   20,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/137, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZI_D),
                    58|128,1, 2, 1, 3,
   0,
  55,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAX_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 98|128,1, TARGET_VAL(AArch64ISD::SMIN_PRED),
  OPC_RecordChild0,
  OPC_Scope, 88,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 15, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZI_B),
                     42|128,1, 2, 1, 3,
    15, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZI_H),
                     48|128,1, 2, 1, 3,
    15, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/71, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZI_S),
                     53|128,1, 2, 1, 3,
    0,
   20,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/137, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZI_D),
                    58|128,1, 2, 1, 3,
   0,
  76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMAX_PRED),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_B),
                    42|128,1, 3, 1, 2, 3,
   13, 48|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_H),
                    48|128,1, 3, 1, 2, 3,
   13, 53|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_S),
                    53|128,1, 3, 1, 2, 3,
   13, 58|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCLAMP_ZZZ_D),
                    58|128,1, 3, 1, 2, 3,
   0,
  56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMIN_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 20|128,1, TARGET_VAL(AArch64ISD::UMAX_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 87,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 15, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/148, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZI_B),
                     42|128,1, 2, 1, 3,
    15, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/149, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZI_H),
                     48|128,1, 2, 1, 3,
    15, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/150, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZI_S),
                     53|128,1, 2, 1, 3,
    0,
   20,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/151, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZI_D),
                    58|128,1, 2, 1, 3,
   0,
  55,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAX_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 98|128,1, TARGET_VAL(AArch64ISD::UMIN_PRED),
  OPC_RecordChild0,
  OPC_Scope, 88,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 58,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 15, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/148, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZI_B),
                     42|128,1, 2, 1, 3,
    15, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/149, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZI_H),
                     48|128,1, 2, 1, 3,
    15, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/150, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZI_S),
                     53|128,1, 2, 1, 3,
    0,
   20,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/151, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZI_D),
                    58|128,1, 2, 1, 3,
   0,
  76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMAX_PRED),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_B),
                    42|128,1, 3, 1, 2, 3,
   13, 48|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_H),
                    48|128,1, 3, 1, 2, 3,
   13, 53|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_S),
                    53|128,1, 3, 1, 2, 3,
   13, 58|128,1,
    OPC_CheckPatternPredicate, 35,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCLAMP_ZZZ_D),
                    58|128,1, 3, 1, 2, 3,
   0,
  56,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMIN_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 85|128,1, TARGET_VAL(AArch64ISD::SRA_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 23|128,1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 106,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 31, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/75, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZZI_B),
                      42|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/75, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_B_UNDEF),
                      42|128,1, 3, 0, 1, 3,
     0,
    31, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/76, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZZI_H),
                      48|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/76, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_H_UNDEF),
                      48|128,1, 3, 0, 1, 3,
     0,
    31, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/77, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZZI_S),
                      53|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/77, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_S_UNDEF),
                      53|128,1, 3, 0, 1, 3,
     0,
    0,
   36,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZZI_D),
                     58|128,1, 2, 1, 3,
    12,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZI_D_UNDEF),
                     58|128,1, 3, 0, 1, 3,
    0,
   0,
  55,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASR_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 85|128,1, TARGET_VAL(AArch64ISD::SRL_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 23|128,1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 106,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 31, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/75, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZZI_B),
                      42|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/75, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_B_UNDEF),
                      42|128,1, 3, 0, 1, 3,
     0,
    31, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/76, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZZI_H),
                      48|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/76, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_H_UNDEF),
                      48|128,1, 3, 0, 1, 3,
     0,
    31, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/77, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZZI_S),
                      53|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/77, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_S_UNDEF),
                      53|128,1, 3, 0, 1, 3,
     0,
    0,
   36,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZZI_D),
                     58|128,1, 2, 1, 3,
    12,
     OPC_CheckComplexPat, /*CP*/78, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZI_D_UNDEF),
                     58|128,1, 3, 0, 1, 3,
    0,
   0,
  55,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSR_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 85|128,1, TARGET_VAL(AArch64ISD::SHL_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 23|128,1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 106,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 31, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/79, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_B),
                      42|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/79, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_B_UNDEF),
                      42|128,1, 3, 0, 1, 3,
     0,
    31, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/80, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_H),
                      48|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/80, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_H_UNDEF),
                      48|128,1, 3, 0, 1, 3,
     0,
    31, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_CheckComplexPat, /*CP*/81, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_S),
                      53|128,1, 2, 1, 3,
     12,
      OPC_CheckComplexPat, /*CP*/81, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_S_UNDEF),
                      53|128,1, 3, 0, 1, 3,
     0,
    0,
   36,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 14,
     OPC_CheckComplexPat, /*CP*/8, /*#*/0,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_D),
                     58|128,1, 2, 1, 3,
    12,
     OPC_CheckComplexPat, /*CP*/82, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZI_D_UNDEF),
                     58|128,1, 3, 0, 1, 3,
    0,
   0,
  55,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   10, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   10, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   10, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 123|128,1, TARGET_VAL(AArch64ISD::ASRD_MERGE_OP1),
  OPC_RecordChild0,
  OPC_Scope, 61,
   OPC_CheckChild0Type, 35|128,1,
   OPC_Scope, 32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate, 19,
    OPC_CheckComplexPat1, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPZI_B_ZERO),
                    42|128,1, 3, 0, 1, 3,
   22,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPmI_B),
                    42|128,1, 3, 0, 1, 2,
   0,
  61,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate, 19,
    OPC_CheckComplexPat1, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPZI_H_ZERO),
                    48|128,1, 3, 0, 1, 3,
   22,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPmI_H),
                    48|128,1, 3, 0, 1, 2,
   0,
  61,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 19,
    OPC_CheckComplexPat1, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPZI_S_ZERO),
                    53|128,1, 3, 0, 1, 3,
   22,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPmI_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  61,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 19,
    OPC_CheckComplexPat1, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPZI_D_ZERO),
                    58|128,1, 3, 0, 1, 3,
   22,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 25,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ASRD_ZPmI_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 84|128,6, TARGET_VAL(AArch64ISD::LD1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 127|128,2,
   OPC_MoveChild3,
   OPC_Scope, 37,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_S_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_S),
                     53|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_S_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_S),
                     53|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W),
                     53|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_H_IMM),
                     48|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_H),
                     48|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                     48|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H),
                     48|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_IMM),
                     42|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B),
                     42|128,1, 3, 1, 3, 4,
    0,
   0,
  86|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 20,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_S_IMM),
                    53|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_S_IMM),
                    53|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_IMM),
                    53|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_H_IMM),
                    48|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                    48|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1B_IMM),
                    42|128,1, 3, 1, 2, 3,
   0,
  27|128,1,
   OPC_MoveChild3,
   OPC_Scope, 37,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_IMM),
                     81|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D),
                     81|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_IMM),
                     77|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W),
                     77|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                     66|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H),
                     66|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                     72|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H),
                     72|128,1, 3, 1, 3, 4,
    0,
   0,
  88,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 20,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1D_IMM),
                    81|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1W_IMM),
                    77|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                    66|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1H_IMM),
                    72|128,1, 3, 1, 2, 3,
   0,
  0,
 114|128,2, TARGET_VAL(AArch64ISD::LD1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 103|128,1,
   OPC_MoveChild3,
   OPC_Scope, 37,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SW_D_IMM),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SW_D),
                     58|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_S_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_S),
                     53|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_S_IMM),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_S),
                     53|128,1, 3, 1, 3, 4,
    0,
   37,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 12,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_H_IMM),
                     48|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_H),
                     48|128,1, 3, 1, 3, 4,
    0,
   0,
  2|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 20,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SW_D_IMM),
                    58|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_S_IMM),
                    53|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SH_S_IMM),
                    53|128,1, 3, 1, 2, 3,
   20,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1SB_H_IMM),
                    48|128,1, 3, 1, 2, 3,
   0,
  0,
 22|128,1, TARGET_VAL(AArch64ISD::SDOT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 54,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_Scope, 36,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTlanev8i8),
                    MVT::v2i32, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTv8i8),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_Scope, 36,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTlanev16i8),
                    MVT::v4i32, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTv16i8),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  17,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_BtoS),
                   53|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_HtoD),
                   58|128,1, 3, 0, 1, 2,
  0,
 22|128,1, TARGET_VAL(AArch64ISD::UDOT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 54,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_Scope, 36,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTlanev8i8),
                    MVT::v2i32, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTv8i8),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  54,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_Scope, 36,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTlanev16i8),
                    MVT::v4i32, 4, 0, 1, 2, 4,
   12,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTv16i8),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  17,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_BtoS),
                   53|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild1Type, 48|128,1,
   OPC_RecordChild2,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_HtoD),
                   58|128,1, 3, 0, 1, 2,
  0,
 75|128,1, TARGET_VAL(AArch64ISD::USDOT),
  OPC_RecordChild0,
  OPC_Scope, 83,
   OPC_RecordChild1,
   OPC_Scope, 39,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTlanev8i8),
                    MVT::v2i32, 4, 0, 1, 2, 4,
   39,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTlanev16i8),
                    MVT::v4i32, 4, 0, 1, 2, 4,
   0,
  63,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_SwitchType , 19, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUDOTlanev8i8),
                    MVT::v2i32, 4, 0, 3, 1, 4,
   19, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 69,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUDOTlanev16i8),
                    MVT::v4i32, 4, 0, 3, 1, 4,
   0,
  51,
   OPC_RecordChild1,
   OPC_SwitchType , 13, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 69,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTv8i8),
                    MVT::v2i32, 3, 0, 1, 2,
   13, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 69,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTv16i8),
                    MVT::v4i32, 3, 0, 1, 2,
   15, 53|128,1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 95,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOT_ZZZ),
                    53|128,1, 3, 0, 1, 2,
   0,
  0,
 1|128,5, TARGET_VAL(AArch64ISD::LDNF1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 95|128,1,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_IMM),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_H_IMM),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_IMM),
                    42|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  96|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_H_IMM),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1B_IMM),
                    42|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  91,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1D_IMM),
                    81|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_IMM),
                    77|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    66|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    72|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  92,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1D_IMM),
                    81|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1W_IMM),
                    77|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    66|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1H_IMM),
                    72|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 24|128,2, TARGET_VAL(AArch64ISD::LDNF1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 7|128,1,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SH_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SW_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SH_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_H_IMM),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  8|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SH_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SW_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SH_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDNF1SB_H_IMM),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 60|128,5, TARGET_VAL(AArch64ISD::LDFF1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 105|128,1,
   OPC_MoveChild3,
   OPC_Scope, 22,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_S),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H_S),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_H),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B),
                    42|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  96|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_S),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H_S),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B_H),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 48|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1B),
                    42|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  118,
   OPC_MoveChild3,
   OPC_Scope, 22,
    OPC_CheckValueType, 76|128,1,
    OPC_MoveParent,
    OPC_CheckType, 76|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W_D),
                    76|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/33, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1D),
                    81|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W),
                    77|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    66|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    72|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  114,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 76|128,1,
    OPC_MoveParent,
    OPC_CheckType, 76|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W_D),
                    76|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 81|128,1,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1D),
                    81|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 77|128,1,
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1W),
                    77|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 66|128,1,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    66|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 72|128,1,
    OPC_MoveParent,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1H),
                    72|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 30|128,2, TARGET_VAL(AArch64ISD::LDFF1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 13|128,1,
   OPC_MoveChild3,
   OPC_Scope, 22,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SH_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SW_D),
                    58|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_S),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/9, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SH_S),
                    53|128,1, MVT::i64, 3, 1, 3, 4,
   22,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_H),
                    48|128,1, MVT::i64, 3, 1, 3, 4,
   0,
  8|128,1,
   OPC_CheckChild2TypeI64,
   OPC_MoveChild3,
   OPC_Scope, 21,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SH_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SW_D),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_S),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SH_S),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   21,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitRegisterI64, AArch64::XZR,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::LDFF1SB_H),
                    48|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 81, TARGET_VAL(ISD::LOOP_DEPENDENCE_WAR_MASK),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI64,
  OPC_RecordChild1,
  OPC_SwitchType , 16, 35|128,1,
   OPC_CheckChild2Integer, 1,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEWR_PXX_B),
                   35|128,1, MVT::i32, 2, 0, 1,
  16, 34|128,1,
   OPC_CheckChild2Integer, 2,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEWR_PXX_H),
                   34|128,1, MVT::i32, 2, 0, 1,
  16, 33|128,1,
   OPC_CheckChild2Integer, 4,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEWR_PXX_S),
                   33|128,1, MVT::i32, 2, 0, 1,
  16, 32|128,1,
   OPC_CheckChild2Integer, 8,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEWR_PXX_D),
                   32|128,1, MVT::i32, 2, 0, 1,
  0,
 81, TARGET_VAL(ISD::LOOP_DEPENDENCE_RAW_MASK),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI64,
  OPC_RecordChild1,
  OPC_SwitchType , 16, 35|128,1,
   OPC_CheckChild2Integer, 1,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILERW_PXX_B),
                   35|128,1, MVT::i32, 2, 0, 1,
  16, 34|128,1,
   OPC_CheckChild2Integer, 2,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILERW_PXX_H),
                   34|128,1, MVT::i32, 2, 0, 1,
  16, 33|128,1,
   OPC_CheckChild2Integer, 4,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILERW_PXX_S),
                   33|128,1, MVT::i32, 2, 0, 1,
  16, 32|128,1,
   OPC_CheckChild2Integer, 8,
   OPC_CheckChild2TypeI64,
   OPC_CheckChild3Integer, 0,
   OPC_CheckChild3TypeI64,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILERW_PXX_D),
                   32|128,1, MVT::i32, 2, 0, 1,
  0,
 16, TARGET_VAL(AArch64ISD::LDNP),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckComplexPat, /*CP*/127, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo2, TARGET_VAL(AArch64::LDNPQi), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v2i64, MVT::v2i64, 2, 2, 3,
 28|128,20, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
  OPC_Scope, 81,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
   OPC_RecordChild0,
   OPC_CheckPredicate4,
   OPC_MoveParent,
   OPC_Scope, 32,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 7, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v8i8),
                     MVT::v4i16, 2, 0, 0,
    7, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i16),
                     MVT::v2i32, 2, 0, 0,
    7, MVT::v1i64,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v2i32),
                     MVT::v1i64, 2, 0, 0,
    0,
   12,
    OPC_CheckChild1Integer, 4,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v8i8),
                    MVT::v4i16, 2, 0, 0,
   12,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i16),
                    MVT::v2i32, 2, 0, 0,
   12,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, MVT::v1i64,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v2i32),
                    MVT::v1i64, 2, 0, 0,
   0,
  24|128,14,
   OPC_RecordChild0,
   OPC_Scope, 8|128,3,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 47,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 9, MVT::v4i16,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 0, 1,
     9, MVT::v8i8,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 0, 1,
     9, MVT::v2i32,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 0, 1,
     9, MVT::v1i64,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 0, 1,
     0,
    15,
     OPC_CheckChild0Type, 32|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
    15,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     32|128,1, 1, 0,
    15,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     33|128,1, 1, 0,
    12,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 34|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     34|128,1, 1, 0,
    30,
     OPC_CheckChild0Type, 42|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v8i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 0, 1,
     10, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 0, 1,
     0,
    30,
     OPC_CheckChild0Type, 48|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v4i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 0, 1,
     10, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 0, 1,
     0,
    30,
     OPC_CheckChild0Type, 53|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v2i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 0, 1,
     10, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 0, 1,
     0,
    30,
     OPC_CheckChild0Type, 58|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v1i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 0, 1,
     10, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 0, 1,
     0,
    22,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
    49,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      32|128,1, 1, 1,
     22, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
     0,
    81,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      33|128,1, 1, 1,
     22, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      32|128,1, 1, 2,
     29, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 3,
     0,
    0,
   89|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_Scope, 15,
     OPC_CheckChild0Type, 32|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
    106,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 41, MVT::v1i64,
      OPC_Scope, 19,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                       MVT::f128, 3, 0, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      18,
       OPC_EmitIntegerI64, 1,
       OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i64lane),
                       MVT::f128, 2, 0, 1,
       OPC_EmitIntegerI32, AArch64::dsub,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v1i64, 2, 2, 3,
      0,
     18, MVT::v8i8,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i64lane),
                      MVT::f128, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 2, 3,
     18, MVT::v4i16,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i64lane),
                      MVT::f128, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 3,
     18, MVT::v2i32,
      OPC_EmitIntegerI64, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::DUPv2i64lane),
                      MVT::f128, 2, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 3,
     0,
    22,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
    29,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
    36,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 3,
    0,
   52|128,1,
    OPC_CheckChild1Integer, 2,
    OPC_Scope, 15,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     32|128,1, 1, 0,
    22,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 2, 3,
    22,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
    49,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      32|128,1, 1, 1,
     22, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
     0,
    63,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 22, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      32|128,1, 1, 2,
     29, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 3,
     0,
    0,
   47|128,1,
    OPC_CheckChild1Integer, 4,
    OPC_Scope, 15,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     33|128,1, 1, 0,
    22,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 3,
    49,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      32|128,1, 1, 1,
     22, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
     0,
    81,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      33|128,1, 1, 1,
     22, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      32|128,1, 1, 2,
     29, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 3,
     0,
    0,
   122,
    OPC_CheckChild1Integer, 8,
    OPC_Scope, 35,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 8, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      34|128,1, 1, 0,
     19, MVT::v8i8,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 2, 3,
     0,
    81,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      33|128,1, 1, 1,
     22, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      32|128,1, 1, 2,
     29, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 3,
     0,
    0,
   88,
    OPC_CheckChild1Integer, 3,
    OPC_CheckType, 31|128,1,
    OPC_Scope, 19,
     OPC_CheckChild0Type, 33|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
    26,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
    33,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 3,
    0,
   118,
    OPC_CheckChild1Integer, 6,
    OPC_Scope, 49,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 15, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      32|128,1, 1, 1,
     22, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 2,
     0,
    63,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 22, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      32|128,1, 1, 2,
     29, 31|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                      31|128,1, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                      31|128,1, 1, 3,
     0,
    0,
   83,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 15, 33|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     33|128,1, 1, 1,
    22, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     32|128,1, 1, 2,
    29, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 3,
    0,
   68,
    OPC_CheckChild1Integer, 5,
    OPC_CheckType, 31|128,1,
    OPC_Scope, 26,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
    33,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 3,
    0,
   68,
    OPC_CheckChild1Integer, 7,
    OPC_CheckType, 31|128,1,
    OPC_Scope, 26,
     OPC_CheckChild0Type, 34|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
    33,
     OPC_CheckChild0Type, 35|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 3,
    0,
   65,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 22, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     32|128,1, 1, 2,
    29, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 3,
    0,
   65,
    OPC_CheckChild1Integer, 14,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_SwitchType , 22, 32|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     32|128,1, 1, 2,
    29, 31|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                     31|128,1, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                     31|128,1, 1, 3,
    0,
   38,
    OPC_CheckChild1Integer, 9,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    31|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 3,
   38,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    31|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 3,
   38,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKLO_PP),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 3,
   38,
    OPC_CheckChild1Integer, 15,
    OPC_CheckChild0Type, 35|128,1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PUNPKHI_PP),
                    31|128,1, 1, 3,
   0,
  71,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::SINT_TO_FP),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 21|128,1,
    OPC_CheckPatternPredicate, 20,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTFDSr),
                    21|128,1, 1, 2,
   31, TARGET_VAL(ISD::UINT_TO_FP),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 21|128,1,
    OPC_CheckPatternPredicate, 20,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTFDSr),
                    21|128,1, 1, 2,
   0,
  100|128,4,
   OPC_RecordChild0,
   OPC_Scope, 39|128,2,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 51,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, 2|128,1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 0, 1,
     9, MVT::v4f16,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 0, 1,
     9, MVT::v4bf16,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 0, 1,
     10, 21|128,1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      21|128,1, 2, 0, 1,
     0,
    15,
     OPC_CheckChild0Type, 65|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                     64|128,1, 1, 0,
    25,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 8, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                      65|128,1, 1, 0,
     8, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                      76|128,1, 1, 0,
     0,
    15,
     OPC_CheckChild0Type, 71|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                     70|128,1, 1, 0,
    12,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                     71|128,1, 1, 0,
    48,
     OPC_CheckChild0Type, 66|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v4f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 0, 1,
     10, MVT::v8f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8f16, 2, 0, 1,
     15, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                      42|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                      64|128,1, 1, 1,
     0,
    34,
     OPC_CheckChild0Type, 77|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 11, 2|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 0, 1,
     11, 4|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      4|128,1, 2, 0, 1,
     0,
    34,
     OPC_CheckChild0Type, 81|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 11, 21|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      21|128,1, 2, 0, 1,
     11, 22|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      22|128,1, 2, 0, 1,
     0,
    48,
     OPC_CheckChild0Type, 72|128,1,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 10, MVT::v4bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 0, 1,
     10, MVT::v8bf16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8bf16, 2, 0, 1,
     15, 70|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                      42|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                      70|128,1, 1, 1,
     0,
    0,
   116,
    OPC_CheckChild1Integer, 2,
    OPC_SwitchType , 35, 64|128,1,
     OPC_Scope, 12,
      OPC_CheckChild0Type, 65|128,1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                      64|128,1, 1, 0,
     19,
      OPC_CheckChild0Type, 66|128,1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                      42|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                      64|128,1, 1, 1,
     0,
    9, 76|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                     76|128,1, 1, 0,
    35, 70|128,1,
     OPC_Scope, 12,
      OPC_CheckChild0Type, 71|128,1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                      70|128,1, 1, 0,
     19,
      OPC_CheckChild0Type, 72|128,1,
      OPC_CheckChild1TypeI64,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                      42|128,1, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                      70|128,1, 1, 1,
     0,
    21, 2|128,1,
     OPC_CheckChild1TypeI64,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                     MVT::f128, 3, 0, 0, 1,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 2, 3,
    0,
   118,
    OPC_CheckChild1Integer, 4,
    OPC_Scope, 67,
     OPC_CheckChild1TypeI64,
     OPC_SwitchType , 8, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                      65|128,1, 1, 0,
     8, 71|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                      71|128,1, 1, 0,
     19, MVT::v4f16,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4f16, 2, 2, 3,
     19, MVT::v4bf16,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                      MVT::f128, 3, 0, 0, 1,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4bf16, 2, 2, 3,
     0,
    22,
     OPC_CheckChild0Type, 66|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                     42|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                     64|128,1, 1, 1,
    22,
     OPC_CheckChild0Type, 72|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckType, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                     42|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                     70|128,1, 1, 1,
    0,
   26,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 21|128,1,
    OPC_EmitIntegerI32, 8,
    OPC_EmitNode1None, TARGET_VAL(AArch64::EXTv16i8),
                    MVT::f128, 3, 0, 0, 1,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    21|128,1, 2, 2, 3,
   48,
    OPC_CheckChild1Integer, 6,
    OPC_SwitchType , 19, 64|128,1,
     OPC_CheckChild0Type, 66|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                     42|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                     64|128,1, 1, 1,
    19, 70|128,1,
     OPC_CheckChild0Type, 72|128,1,
     OPC_CheckChild1TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                     42|128,1, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                     70|128,1, 1, 1,
    0,
   0,
  0,
 83, TARGET_VAL(AArch64ISD::DUPLANE64),
  OPC_Scope, 28,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckPredicate1,
   OPC_CheckPredicate, 23,
   OPC_CheckType, MVT::v2i64,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 0,
   OPC_CheckChild1TypeI64,
   OPC_CheckType, MVT::v2i64,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2d), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2i64, 1, 1,
  51,
   OPC_RecordChild0,
   OPC_Scope, 22,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i64lane),
                    MVT::v2i64, 2, 0, 2,
   24,
    OPC_CheckChild0Type, 22|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 22|128,1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i64lane),
                    22|128,1, 2, 0, 2,
   0,
  0,
 68|128,1, TARGET_VAL(AArch64ISD::BIC),
  OPC_RecordChild0,
  OPC_Scope, 75,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 49,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 12, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/59, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     42|128,1, 2, 0, 2,
    12, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/60, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     48|128,1, 2, 0, 2,
    12, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/61, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                     53|128,1, 2, 0, 2,
    0,
   17,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/62, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::AND_ZI),
                    58|128,1, 2, 0, 2,
   0,
  116,
   OPC_RecordChild1,
   OPC_SwitchType , 9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_ZZZ),
                    58|128,1, 2, 0, 1,
   10, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    35|128,1, 3, 0, 0, 1,
   10, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    34|128,1, 3, 0, 0, 1,
   10, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    33|128,1, 3, 0, 0, 1,
   10, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    32|128,1, 3, 0, 0, 1,
   10, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BIC_PPzPP),
                    31|128,1, 3, 0, 0, 1,
   0,
  0,
 30|128,2, TARGET_VAL(AArch64ISD::LD1RQ_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 33,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 108,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 35, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_B_IMM),
                   42|128,1, 3, 1, 2, 5,
  18,
   OPC_RecordChild2,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/12, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_B),
                   42|128,1, 3, 1, 3, 4,
  33,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 108,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 35, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_H_IMM),
                   48|128,1, 3, 1, 2, 5,
  18,
   OPC_RecordChild2,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/9, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_H),
                   48|128,1, 3, 1, 3, 4,
  33,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 108,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 35, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_W_IMM),
                   53|128,1, 3, 1, 2, 5,
  18,
   OPC_RecordChild2,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat, /*CP*/23, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_W),
                   53|128,1, 3, 1, 3, 4,
  33,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 108,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 35, 4,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_D_IMM),
                   58|128,1, 3, 1, 2, 5,
  88,
   OPC_RecordChild2,
   OPC_SwitchType , 31, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_D),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild2TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_D_IMM),
                     58|128,1, 3, 1, 2, 3,
    0,
   14, 42|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_B_IMM),
                    42|128,1, 3, 1, 2, 3,
   14, 48|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_H_IMM),
                    48|128,1, 3, 1, 2, 3,
   14, 53|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI64, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RQ_W_IMM),
                    53|128,1, 3, 1, 2, 3,
   0,
  0,
 115|128,1, TARGET_VAL(AArch64ISD::LD1RO_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 93,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 165,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_MoveParent,
   OPC_SwitchType , 16, 42|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 37, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_B_IMM),
                    42|128,1, 3, 1, 2, 5,
   16, 48|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 37, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_H_IMM),
                    48|128,1, 3, 1, 2, 5,
   16, 53|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 37, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_W_IMM),
                    53|128,1, 3, 1, 2, 5,
   16, 58|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 37, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_D_IMM),
                    58|128,1, 3, 1, 2, 5,
   0,
  15|128,1,
   OPC_RecordChild2,
   OPC_SwitchType , 32, 42|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/12, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_B),
                     42|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild2TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_B_IMM),
                     42|128,1, 3, 1, 2, 3,
    0,
   32, 48|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/9, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_H),
                     48|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild2TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_H_IMM),
                     48|128,1, 3, 1, 2, 3,
    0,
   32, 53|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_W),
                     53|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild2TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_W_IMM),
                     53|128,1, 3, 1, 2, 3,
    0,
   32, 58|128,1,
    OPC_CheckPatternPredicate, 74,
    OPC_Scope, 13,
     OPC_CheckComplexPat, /*CP*/33, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_D),
                     58|128,1, 3, 1, 3, 4,
    13,
     OPC_CheckChild2TypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LD1RO_D_IMM),
                     58|128,1, 3, 1, 2, 3,
    0,
   0,
  0,
 75|128,2, TARGET_VAL(AArch64ISD::INSR),
  OPC_RecordChild0,
  OPC_Scope, 45,
   OPC_CheckChild0Type, 42|128,1,
   OPC_Scope, 24,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 42|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_B),
                    42|128,1, 2, 0, 1,
   14,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZR_B),
                    42|128,1, 2, 0, 1,
   0,
  45,
   OPC_CheckChild0Type, 48|128,1,
   OPC_Scope, 24,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 48|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_H),
                    48|128,1, 2, 0, 1,
   14,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZR_H),
                    48|128,1, 2, 0, 1,
   0,
  45,
   OPC_CheckChild0Type, 53|128,1,
   OPC_Scope, 24,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 53|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_S),
                    53|128,1, 2, 0, 1,
   14,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZR_S),
                    53|128,1, 2, 0, 1,
   0,
  45,
   OPC_CheckChild0Type, 58|128,1,
   OPC_Scope, 24,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 58|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_D),
                    58|128,1, 2, 0, 1,
   14,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZR_D),
                    58|128,1, 2, 0, 1,
   0,
  35,
   OPC_CheckChild0Type, 66|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f16,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_H),
                   66|128,1, 2, 0, 4,
  35,
   OPC_CheckChild0Type, 77|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_S),
                   77|128,1, 2, 0, 4,
  35,
   OPC_CheckChild0Type, 81|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_D),
                   81|128,1, 2, 0, 4,
  35,
   OPC_CheckChild0Type, 72|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::bf16,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_H),
                   72|128,1, 2, 0, 4,
  0,
 62|128,5, TARGET_VAL(ISD::VECTOR_REVERSE),
  OPC_Scope, 122|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 121|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 124,
     OPC_CheckChild0Integer, 108|128,16,
     OPC_RecordChild1,
     OPC_Scope, 58,
      OPC_CheckChild1TypeI32,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PWW_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     58,
      OPC_CheckChild1TypeI64,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELT_PXX_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     0,
    124,
     OPC_CheckChild0Integer, 114|128,16,
     OPC_RecordChild1,
     OPC_Scope, 58,
      OPC_CheckChild1TypeI32,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     58,
      OPC_CheckChild1TypeI64,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate0,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     0,
    124,
     OPC_CheckChild0Integer, 16|128,17,
     OPC_RecordChild1,
     OPC_Scope, 58,
      OPC_CheckChild1TypeI32,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PWW_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     58,
      OPC_CheckChild1TypeI64,
      OPC_RecordChild2,
      OPC_CheckChild2TypeI64,
      OPC_MoveParent,
      OPC_SwitchType , 10, 35|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_B),
                       35|128,1, MVT::i32, 2, 1, 0,
      10, 34|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_H),
                       34|128,1, MVT::i32, 2, 1, 0,
      10, 33|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_S),
                       33|128,1, MVT::i32, 2, 1, 0,
      10, 32|128,1,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEGT_PXX_D),
                       32|128,1, MVT::i32, 2, 1, 0,
      0,
     0,
    0,
   119, TARGET_VAL(ISD::GET_ACTIVE_LANE_MASK),
    OPC_RecordChild0,
    OPC_Scope, 57,
     OPC_CheckChild0TypeI32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 10, 35|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_B),
                      35|128,1, MVT::i32, 2, 1, 0,
     10, 34|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_H),
                      34|128,1, MVT::i32, 2, 1, 0,
     10, 33|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_S),
                      33|128,1, MVT::i32, 2, 1, 0,
     10, 32|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PWW_D),
                      32|128,1, MVT::i32, 2, 1, 0,
     0,
    57,
     OPC_CheckChild0TypeI64,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 10, 35|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_B),
                      35|128,1, MVT::i32, 2, 1, 0,
     10, 34|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_H),
                      34|128,1, MVT::i32, 2, 1, 0,
     10, 33|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_S),
                      33|128,1, MVT::i32, 2, 1, 0,
     10, 32|128,1,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILEHI_PXX_D),
                      32|128,1, MVT::i32, 2, 1, 0,
     0,
    0,
   0,
  62|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 8, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_B),
                    35|128,1, 1, 0,
   8, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_H),
                    34|128,1, 1, 0,
   8, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_S),
                    33|128,1, 1, 0,
   8, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_PP_D),
                    32|128,1, 1, 0,
   8, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_B),
                    42|128,1, 1, 0,
   8, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_H),
                    48|128,1, 1, 0,
   8, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_S),
                    53|128,1, 1, 0,
   8, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_D),
                    58|128,1, 1, 0,
   8, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_D),
                    64|128,1, 1, 0,
   8, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_S),
                    65|128,1, 1, 0,
   8, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_H),
                    66|128,1, 1, 0,
   8, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_D),
                    76|128,1, 1, 0,
   8, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_S),
                    77|128,1, 1, 0,
   8, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_D),
                    81|128,1, 1, 0,
   8, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_D),
                    70|128,1, 1, 0,
   8, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_S),
                    71|128,1, 1, 0,
   8, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV_ZZ_H),
                    72|128,1, 1, 0,
   0,
  0,
 58|128,2, TARGET_VAL(AArch64ISD::UADDLV),
  OPC_Scope, 40|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 81, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 110|128,5,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 1, 2, 3,
    23, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    23, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    0,
   78, TARGET_VAL(AArch64ISD::UADDLP),
    OPC_RecordChild0,
    OPC_SwitchType , 23, MVT::v4i32,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 1, 2, 3,
    23, MVT::v8i16,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    23, MVT::v4i16,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    0,
   0,
  12|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 86, MVT::v4i32,
    OPC_Scope, 20,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv16i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    0,
   47, MVT::v2i64,
    OPC_Scope, 20,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i32v),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v2i64, 3, 1, 2, 3,
    23,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLPv2i32_v1i64),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 2, 3,
    0,
   0,
  0,
 5|128,9, TARGET_VAL(ISD::INSERT_SUBVECTOR),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
  OPC_MoveParent,
  OPC_RecordChild1,
  OPC_Scope, 91|128,6,
   OPC_CheckChild2Integer, 0,
   OPC_Scope, 71,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 15, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 0, 2,
    15, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
    15, MVT::v8i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
    15, MVT::v16i8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 0, 2,
    0,
   71,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 15, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 0, 2,
    15, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
    15, MVT::v8i16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
    15, MVT::v16i8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 0, 2,
    0,
   24,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    48|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    48|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    53|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    53|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    58|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    58|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    48|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    48|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    53|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    53|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    58|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    58|128,1, 3, 1, 0, 2,
   16,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                    65|128,1, 2, 0, 0,
   16,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                    77|128,1, 2, 0, 0,
   16,
    OPC_CheckChild1Type, 70|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                    71|128,1, 2, 0, 0,
   16,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    66|128,1, 2, 0, 0,
   16,
    OPC_CheckChild1Type, 71|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    72|128,1, 2, 0, 0,
   77,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 17, 22|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     22|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     22|128,1, 3, 1, 0, 2,
    17, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     4|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 1, 0, 2,
    15, MVT::v8f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8f16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8f16, 3, 1, 0, 2,
    15, MVT::v8bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8bf16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8bf16, 3, 1, 0, 2,
    0,
   77,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 17, 22|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     22|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     22|128,1, 3, 1, 0, 2,
    17, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     4|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 1, 0, 2,
    15, MVT::v8f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8f16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8f16, 3, 1, 0, 2,
    15, MVT::v8bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8bf16, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8bf16, 3, 1, 0, 2,
    0,
   24,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    66|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    66|128,1, 3, 1, 0, 2,
   25,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    77|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    77|128,1, 3, 1, 0, 2,
   25,
    OPC_CheckChild1Type, 21|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    81|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    81|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v4bf16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    72|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    72|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    66|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    66|128,1, 3, 1, 0, 2,
   25,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    77|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    77|128,1, 3, 1, 0, 2,
   25,
    OPC_CheckChild1Type, 22|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    81|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    81|128,1, 3, 1, 0, 2,
   24,
    OPC_CheckChild1Type, MVT::v8bf16,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    72|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    72|128,1, 3, 1, 0, 2,
   32,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    66|128,1, 2, 1, 2,
   32,
    OPC_CheckChild1Type, 70|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    72|128,1, 2, 1, 2,
   0,
  115,
   OPC_CheckChild2Integer, 2,
   OPC_Scope, 46,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 9, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                     65|128,1, 2, 0, 0,
    25, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     66|128,1, 2, 1, 2,
    0,
   16,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                    77|128,1, 2, 0, 0,
   46,
    OPC_CheckChild1Type, 70|128,1,
    OPC_CheckChild2TypeI64,
    OPC_SwitchType , 9, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                     71|128,1, 2, 0, 0,
    25, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     72|128,1, 2, 1, 2,
    0,
   0,
  102,
   OPC_CheckChild2Integer, 4,
   OPC_SwitchType , 46, 66|128,1,
    OPC_Scope, 13,
     OPC_CheckChild1Type, 65|128,1,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     66|128,1, 2, 0, 0,
    29,
     OPC_CheckChild1Type, 64|128,1,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     66|128,1, 2, 1, 2,
    0,
   46, 72|128,1,
    OPC_Scope, 13,
     OPC_CheckChild1Type, 71|128,1,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     72|128,1, 2, 0, 0,
    29,
     OPC_CheckChild1Type, 70|128,1,
     OPC_CheckChild2TypeI64,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     42|128,1, 2, 0, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                     72|128,1, 2, 1, 2,
    0,
   0,
  68,
   OPC_CheckChild2Integer, 6,
   OPC_SwitchType , 29, 66|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    66|128,1, 2, 1, 2,
   29, 72|128,1,
    OPC_CheckChild1Type, 70|128,1,
    OPC_CheckChild2TypeI64,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    42|128,1, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                    72|128,1, 2, 1, 2,
   0,
  0,
 59|128,2, TARGET_VAL(ISD::PARTIAL_REDUCE_UMLA),
  OPC_RecordChild0,
  OPC_Scope, 92,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_CheckChild1Type, 53|128,1,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWB_ZZZ_D),
                     42|128,1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_D),
                     58|128,1, 2, 2, 1,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALB_ZZZ_D),
                     42|128,1, 3, 0, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_D),
                     58|128,1, 3, 3, 1, 2,
    0,
   20,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_HtoD),
                    58|128,1, 3, 0, 1, 2,
   0,
  107,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_Scope, 79,
    OPC_CheckChild1Type, 48|128,1,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWB_ZZZ_S),
                     42|128,1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_S),
                     53|128,1, 2, 2, 1,
    41,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_HtoS),
                      53|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALB_ZZZ_S),
                      42|128,1, 3, 0, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_S),
                      53|128,1, 3, 3, 1, 2,
     0,
    0,
   20,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOT_ZZZ_BtoS),
                    53|128,1, 3, 0, 1, 2,
   0,
  68,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_Scope, 31,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UADDWB_ZZZ_H),
                    42|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_H),
                    48|128,1, 2, 2, 1,
   26,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::UMLALB_ZZZ_H),
                    42|128,1, 3, 0, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMLALT_ZZZ_H),
                    48|128,1, 3, 3, 1, 2,
   0,
  20,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 105,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTv16i8),
                   MVT::v4i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i8,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate, 105,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDOTv8i8),
                   MVT::v2i32, 3, 0, 1, 2,
  0,
 59|128,2, TARGET_VAL(ISD::PARTIAL_REDUCE_SMLA),
  OPC_RecordChild0,
  OPC_Scope, 92,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_CheckChild1Type, 53|128,1,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWB_ZZZ_D),
                     42|128,1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_D),
                     58|128,1, 2, 2, 1,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 53|128,1,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALB_ZZZ_D),
                     42|128,1, 3, 0, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_D),
                     58|128,1, 3, 3, 1, 2,
    0,
   20,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 48|128,1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_HtoD),
                    58|128,1, 3, 0, 1, 2,
   0,
  107,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_Scope, 79,
    OPC_CheckChild1Type, 48|128,1,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 1,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 48|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWB_ZZZ_S),
                     42|128,1, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_S),
                     53|128,1, 2, 2, 1,
    41,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 48|128,1,
     OPC_CheckType, 53|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 37,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_HtoS),
                      53|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALB_ZZZ_S),
                      42|128,1, 3, 0, 1, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_S),
                      53|128,1, 3, 3, 1, 2,
     0,
    0,
   20,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOT_ZZZ_BtoS),
                    53|128,1, 3, 0, 1, 2,
   0,
  68,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_Scope, 31,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 1,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDWB_ZZZ_H),
                    42|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_H),
                    48|128,1, 2, 2, 1,
   26,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 42|128,1,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SMLALB_ZZZ_H),
                    42|128,1, 3, 0, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMLALT_ZZZ_H),
                    48|128,1, 3, 3, 1, 2,
   0,
  20,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 105,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTv16i8),
                   MVT::v4i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i8,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate, 105,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDOTv8i8),
                   MVT::v2i32, 3, 0, 1, 2,
  0,
 97|128,4, TARGET_VAL(AArch64ISD::UADDV),
  OPC_Scope, 69|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 50|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 87,
     OPC_CheckChild0Integer, 110|128,5,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 1, 2, 3,
     26,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i32, 3, 1, 2, 3,
     26,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i32v),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 2, 3,
     0,
    87,
     OPC_CheckChild0Integer, 45|128,5,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i16v),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v4i32, 3, 1, 2, 3,
     26,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i32, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, AArch64::ssub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i32, 3, 1, 2, 3,
     26,
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v2i64, 0,
      OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i32v),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v2i64, 3, 1, 2, 3,
     0,
    0,
   44, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::v8i16,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i16, 3, 1, 2, 3,
    18, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    0,
   44, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::v8i16,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i8v),
                     MVT::i16, 1, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v8i16, 3, 1, 2, 3,
    18, MVT::v4i32,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::v4i32, 3, 1, 2, 3,
    0,
   84, TARGET_VAL(AArch64ISD::UADDLP),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv8i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::UADDLVv4i32v),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 2, 3,
    0,
   84, TARGET_VAL(AArch64ISD::SADDLP),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                     MVT::i32, 1, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i32, 3, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i64, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i32v),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v2i64, 3, 1, 2, 3,
    0,
   0,
  22|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i32),
                    MVT::v2i32, 2, 0, 0,
   21, MVT::v2i64,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i64p),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
   21, MVT::v8i8,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v8i8, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                    MVT::i8, 1, 0,
    OPC_EmitIntegerI32, AArch64::bsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v8i8, 3, 1, 2, 3,
   21, MVT::v16i8,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v16i8, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                    MVT::i8, 1, 0,
    OPC_EmitIntegerI32, AArch64::bsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v16i8, 3, 1, 2, 3,
   21, MVT::v4i16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i16, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                    MVT::i16, 1, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i16, 3, 1, 2, 3,
   21, MVT::v8i16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v8i16, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                    MVT::i16, 1, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v8i16, 3, 1, 2, 3,
   21, MVT::v4i32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4i32, 3, 1, 2, 3,
   0,
  0,
 70, TARGET_VAL(AArch64ISD::BICi),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 11, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv4i16),
                   MVT::v4i16, 3, 0, 3, 4,
  11, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv8i16),
                   MVT::v8i16, 3, 0, 3, 4,
  11, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv2i32),
                   MVT::v2i32, 3, 0, 3, 4,
  11, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BICv4i32),
                   MVT::v4i32, 3, 0, 3, 4,
  0,
 70, TARGET_VAL(AArch64ISD::ORRi),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 11, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv4i16),
                   MVT::v4i16, 3, 0, 3, 4,
  11, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv8i16),
                   MVT::v8i16, 3, 0, 3, 4,
  11, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv2i32),
                   MVT::v2i32, 3, 0, 3, 4,
  11, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORRv4i32),
                   MVT::v4i32, 3, 0, 3, 4,
  0,
 61, TARGET_VAL(AArch64ISD::MOVIshift),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::v2i32,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2i32),
                   MVT::v2i32, 2, 2, 3,
  9, MVT::v4i32,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv4i32),
                   MVT::v4i32, 2, 2, 3,
  9, MVT::v4i16,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv4i16),
                   MVT::v4i16, 2, 2, 3,
  9, MVT::v8i16,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv8i16),
                   MVT::v8i16, 2, 2, 3,
  0,
 41, TARGET_VAL(AArch64ISD::MOVImsl),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 10, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2s_msl),
                   MVT::v2i32, 2, 2, 3,
  10, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv4s_msl),
                   MVT::v4i32, 2, 2, 3,
  0,
 61, TARGET_VAL(AArch64ISD::MVNIshift),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 9, MVT::v2i32,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv2i32),
                   MVT::v2i32, 2, 2, 3,
  9, MVT::v4i32,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv4i32),
                   MVT::v4i32, 2, 2, 3,
  9, MVT::v4i16,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv4i16),
                   MVT::v4i16, 2, 2, 3,
  9, MVT::v8i16,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv8i16),
                   MVT::v8i16, 2, 2, 3,
  0,
 41, TARGET_VAL(AArch64ISD::MVNImsl),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveSibling1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 10, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv2s_msl),
                   MVT::v2i32, 2, 2, 3,
  10, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MVNIv4s_msl),
                   MVT::v4i32, 2, 2, 3,
  0,
 23|128,1, TARGET_VAL(ISD::TRUNCATE_SSAT_S),
  OPC_Scope, 117,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 54, TARGET_VAL(AArch64ISD::SRSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   54, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   0,
  30,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv8i8),
                    MVT::v8i8, 1, 0,
   7, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv4i16),
                    MVT::v4i16, 1, 0,
   7, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTNv2i32),
                    MVT::v2i32, 1, 0,
   0,
  0,
 23|128,1, TARGET_VAL(ISD::TRUNCATE_SSAT_U),
  OPC_Scope, 117,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 54, TARGET_VAL(AArch64ISD::SRSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQRSHRUNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   54, TARGET_VAL(AArch64ISD::VASHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQSHRUNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   0,
  30,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv8i8),
                    MVT::v8i8, 1, 0,
   7, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv4i16),
                    MVT::v4i16, 1, 0,
   7, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SQXTUNv2i32),
                    MVT::v2i32, 1, 0,
   0,
  0,
 23|128,1, TARGET_VAL(ISD::TRUNCATE_USAT_U),
  OPC_Scope, 117,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 54, TARGET_VAL(AArch64ISD::URSHR_I),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQRSHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   54, TARGET_VAL(AArch64ISD::VLSHR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv8i8_shift),
                     MVT::v8i8, 2, 0, 1,
    14,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv4i16_shift),
                     MVT::v4i16, 2, 0, 1,
    14,
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSHRNv2i32_shift),
                     MVT::v2i32, 2, 0, 1,
    0,
   0,
  30,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv8i8),
                    MVT::v8i8, 1, 0,
   7, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv4i16),
                    MVT::v4i16, 1, 0,
   7, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQXTNv2i32),
                    MVT::v2i32, 1, 0,
   0,
  0,
 43|128,2, TARGET_VAL(ISD::UADDSAT),
  OPC_Scope, 80,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 52,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/92, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_B),
                     42|128,1, 3, 0, 2, 3,
    13, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/93, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_H),
                     48|128,1, 3, 0, 2, 3,
    13, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/94, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_S),
                     53|128,1, 3, 0, 2, 3,
    0,
   18,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/95, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_D),
                    58|128,1, 3, 0, 2, 3,
   0,
  81,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 53,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/92, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_B),
                     42|128,1, 3, 1, 2, 3,
    13, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/93, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_H),
                     48|128,1, 3, 1, 2, 3,
    13, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/94, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_S),
                     53|128,1, 3, 1, 2, 3,
    0,
   19,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/95, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZI_D),
                    58|128,1, 3, 1, 2, 3,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv2i64),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADDv1i64),
                    MVT::v1i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZZZ_B),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQADD_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  0,
 88|128,1, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_Scope, 79,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_Scope, 52,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 13, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/92, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZI_B),
                     42|128,1, 3, 0, 2, 3,
    13, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/93, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZI_H),
                     48|128,1, 3, 0, 2, 3,
    13, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/94, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZI_S),
                     53|128,1, 3, 0, 2, 3,
    0,
   18,
    OPC_CheckChild0TypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/95, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZI_D),
                    58|128,1, 3, 0, 2, 3,
   0,
  3|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 8, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv8i8),
                    MVT::v8i8, 2, 0, 1,
   8, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv16i8),
                    MVT::v16i8, 2, 0, 1,
   8, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv4i16),
                    MVT::v4i16, 2, 0, 1,
   8, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv8i16),
                    MVT::v8i16, 2, 0, 1,
   8, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv2i32),
                    MVT::v2i32, 2, 0, 1,
   8, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv4i32),
                    MVT::v4i32, 2, 0, 1,
   8, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv2i64),
                    MVT::v2i64, 2, 0, 1,
   8, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUBv1i64),
                    MVT::v1i64, 2, 0, 1,
   9, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZZZ_B),
                    42|128,1, 2, 0, 1,
   9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UQSUB_ZZZ_D),
                    58|128,1, 2, 0, 1,
   0,
  0,
 50|128,3, TARGET_VAL(ISD::VECTOR_SPLICE_LEFT),
  OPC_RecordChild0,
  OPC_Scope, 66,
   OPC_CheckChild1Same, 0,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_SwitchType , 12, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/152, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    42|128,1, 2, 0, 2,
   12, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    48|128,1, 2, 0, 2,
   12, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    53|128,1, 2, 0, 2,
   12, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    58|128,1, 2, 0, 2,
   0,
  69,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/152, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    42|128,1, 3, 0, 1, 3,
   13, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    48|128,1, 3, 0, 1, 3,
   13, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    53|128,1, 3, 0, 1, 3,
   13, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    58|128,1, 3, 0, 1, 3,
   0,
  13|128,1,
   OPC_CheckChild1Same, 0,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    66|128,1, 2, 0, 2,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    72|128,1, 2, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    65|128,1, 2, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    77|128,1, 2, 0, 2,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    71|128,1, 2, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    64|128,1, 2, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    76|128,1, 2, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    81|128,1, 2, 0, 2,
   12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI_CONSTRUCTIVE),
                    70|128,1, 2, 0, 2,
   0,
  21|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI64,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    66|128,1, 3, 0, 1, 3,
   13, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/112, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    72|128,1, 3, 0, 1, 3,
   13, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    65|128,1, 3, 0, 1, 3,
   13, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    77|128,1, 3, 0, 1, 3,
   13, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/91, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    71|128,1, 3, 0, 1, 3,
   13, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    64|128,1, 3, 0, 1, 3,
   13, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    76|128,1, 3, 0, 1, 3,
   13, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    81|128,1, 3, 0, 1, 3,
   13, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/66, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EXT_ZZI),
                    70|128,1, 3, 0, 1, 3,
   0,
  0,
 109|128,58, TARGET_VAL(AArch64ISD::SETCC_MERGE_ZERO),
  OPC_RecordChild0,
  OPC_Scope, 77|128,7,
   OPC_CheckChild0Type, 35|128,1,
   OPC_Scope, 36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_B),
                    35|128,1, MVT::i32, 3, 0, 2, 3,
   88|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 42|128,1,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_Scope, 17,
     OPC_CheckCondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 1, 2,
    17,
     OPC_CheckCondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 2, 1,
    17,
     OPC_CheckCondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 1, 2,
    17,
     OPC_CheckCondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 2, 1,
    17,
     OPC_CheckCondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 1, 2,
    17,
     OPC_CheckCondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 2, 1,
    17,
     OPC_CheckCondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 1, 2,
    17,
     OPC_CheckCondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_B),
                     35|128,1, MVT::i32, 3, 0, 2, 1,
    31,
     OPC_CheckCondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 1, 2,
     10,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 1,
     0,
    31,
     OPC_CheckCondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckType, 35|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 1, 2,
     10,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_B),
                      35|128,1, MVT::i32, 3, 0, 2, 1,
     0,
    0,
   0,
  44|128,12,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_H),
                    34|128,1, MVT::i32, 3, 0, 2, 3,
   55|128,6,
    OPC_RecordChild1,
    OPC_Scope, 89|128,4,
     OPC_CheckChild1Type, 66|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       34|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       34|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       34|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       34|128,1, 3, 0, 2, 1,
      0,
     0,
    87|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 17,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_H),
                      34|128,1, MVT::i32, 3, 0, 2, 1,
     31,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     31,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 34|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_H),
                       34|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     0,
    0,
   0,
  7|128,17,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_S),
                    33|128,1, MVT::i32, 3, 0, 2, 3,
   18|128,11,
    OPC_RecordChild1,
    OPC_Scope, 89|128,4,
     OPC_CheckChild1Type, 65|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       33|128,1, 3, 0, 2, 1,
      0,
     0,
    89|128,4,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       33|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       33|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       33|128,1, 3, 0, 2, 1,
      0,
     0,
    87|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 17,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_S),
                      33|128,1, MVT::i32, 3, 0, 2, 1,
     31,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     31,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 33|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_S),
                       33|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     0,
    0,
   0,
  98|128,21,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLT_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETLE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETGE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETNE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETEQ,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGT,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLO_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   36,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckCondCode, ISD::SETULE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 1, 3,
   37,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 47,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckCondCode, ISD::SETUGE,
    OPC_MoveParent,
    OPC_CheckType, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPLS_PPzZI_D),
                    32|128,1, MVT::i32, 3, 0, 2, 3,
   109|128,15,
    OPC_RecordChild1,
    OPC_Scope, 89|128,4,
     OPC_CheckChild1Type, 64|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_H),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_H),
                       32|128,1, 3, 0, 2, 1,
      0,
     0,
    89|128,4,
     OPC_CheckChild1Type, 76|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_S),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_S),
                       32|128,1, 3, 0, 2, 1,
      0,
     0,
    89|128,4,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 41,
      OPC_CheckCondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     41,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      0,
     41,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMLT_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMGT_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETUNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     51,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 1,
      10,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZ0_D),
                       32|128,1, 2, 0, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMNE_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     49,
      OPC_CheckCondCode, ISD::SETUO,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                       32|128,1, 3, 0, 1, 2,
      9,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCMUO_PPzZZ_D),
                       32|128,1, 3, 0, 2, 1,
      0,
     0,
    87|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_MoveChild3,
     OPC_Scope, 17,
      OPC_CheckCondCode, ISD::SETUGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHS_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETULT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPHI_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGE_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 2, 1,
     17,
      OPC_CheckCondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 1, 2,
     17,
      OPC_CheckCondCode, ISD::SETLT,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPGT_PPzZZ_D),
                      32|128,1, MVT::i32, 3, 0, 2, 1,
     31,
      OPC_CheckCondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     31,
      OPC_CheckCondCode, ISD::SETNE,
      OPC_MoveParent,
      OPC_CheckType, 32|128,1,
      OPC_CheckPatternPredicate0,
      OPC_Scope, 10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 1, 2,
      10,
       OPC_MorphNodeTo2None, TARGET_VAL(AArch64::CMPNE_PPzZZ_D),
                       32|128,1, MVT::i32, 3, 0, 2, 1,
      0,
     0,
    0,
   0,
  0,
 126|128,15, TARGET_VAL(AArch64ISD::BSP),
  OPC_RecordChild0,
  OPC_Scope, 64,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 1, 2, 0,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    48|128,1, 3, 1, 2, 0,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    53|128,1, 3, 1, 2, 0,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    58|128,1, 3, 1, 2, 0,
   0,
  64,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 10, 42|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    42|128,1, 3, 1, 2, 0,
   10, 48|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    48|128,1, 3, 1, 2, 0,
   10, 53|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    53|128,1, 3, 1, 2, 0,
   10, 58|128,1,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                    58|128,1, 3, 1, 2, 0,
   0,
  76|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckImmAllOnesV,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 70, MVT::v8i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 12, 13,
   70, MVT::v16i8,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i8, 2, 12, 13,
   70, MVT::v4i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 12, 13,
   70, MVT::v8i16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i16, 2, 12, 13,
   70, MVT::v2i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 12, 13,
   70, MVT::v4i32,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i32, 2, 12, 13,
   70, MVT::v1i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 12, 13,
   70, MVT::v2i64,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 3, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 6, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    42|128,1, 3, 9, 0, 10,
    OPC_EmitNode1None, TARGET_VAL(AArch64::BSL1N_ZZZZ),
                    42|128,1, 3, 5, 8, 11,
    OPC_EmitIntegerI32, AArch64::zsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i64, 2, 12, 13,
   0,
  41|128,10,
   OPC_RecordChild1,
   OPC_Scope, 75|128,4,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 70, MVT::v8i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i8, 2, 12, 13,
    70, MVT::v16i8,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i8, 2, 12, 13,
    70, MVT::v4i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 12, 13,
    70, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v8i16, 2, 12, 13,
    70, MVT::v2i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 12, 13,
    70, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i32, 2, 12, 13,
    70, MVT::v1i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v1i64, 2, 12, 13,
    70, MVT::v2i64,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 3, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 6, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     42|128,1, 3, 9, 0, 10,
     OPC_EmitNode1None, TARGET_VAL(AArch64::BSL2N_ZZZZ),
                     42|128,1, 3, 5, 8, 11,
     OPC_EmitIntegerI32, AArch64::zsub,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i64, 2, 12, 13,
    0,
   87|128,5,
    OPC_RecordChild2,
    OPC_SwitchType , 82, MVT::v8i8,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v8i8, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i8, 2, 12, 13,
     0,
    82, MVT::v4i16,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v4i16, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 12, 13,
     0,
    82, MVT::v2i32,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v2i32, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 12, 13,
     0,
    82, MVT::v1i64,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv8i8),
                      MVT::v1i64, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::dsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v1i64, 2, 12, 13,
     0,
    82, MVT::v16i8,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v16i8, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v16i8, 2, 12, 13,
     0,
    82, MVT::v8i16,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v8i16, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v8i16, 2, 12, 13,
     0,
    82, MVT::v4i32,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v4i32, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i32, 2, 12, 13,
     0,
    82, MVT::v2i64,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSPv16i8),
                      MVT::v2i64, 3, 0, 1, 2,
     70,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 3, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 6, 2, 7,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      42|128,1, 3, 9, 0, 10,
      OPC_EmitNode1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                      42|128,1, 3, 5, 8, 11,
      OPC_EmitIntegerI32, AArch64::zsub,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i64, 2, 12, 13,
     0,
    10, 42|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                     42|128,1, 3, 1, 2, 0,
    10, 48|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                     48|128,1, 3, 1, 2, 0,
    10, 53|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                     53|128,1, 3, 1, 2, 0,
    10, 58|128,1,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BSL_ZZZZ),
                     58|128,1, 3, 1, 2, 0,
    0,
   0,
  0,
 14|128,4, TARGET_VAL(AArch64ISD::FCVTZS_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 64,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoH),
                    48|128,1, 2, 0, 2,
   17, 53|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_StoS),
                    53|128,1, 2, 0, 2,
   17, 58|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_DtoD),
                    58|128,1, 2, 0, 2,
   0,
  57,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_HtoH),
                    48|128,1, 2, 0, 1,
   15, 53|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_StoS),
                    53|128,1, 2, 0, 1,
   15, 58|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPzZ_DtoD),
                    58|128,1, 2, 0, 1,
   0,
  118,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoH_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   36, 53|128,1,
    OPC_Scope, 16,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoS_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 65|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoS_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    0,
   53, 58|128,1,
    OPC_Scope, 16,
     OPC_CheckChild1Type, 76|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 64|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    0,
   0,
  23|128,2,
   OPC_RecordChild1,
   OPC_Scope, 45,
    OPC_CheckChild1Type, 66|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoH_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoH),
                     48|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 77|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoS_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoS),
                     53|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 76|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 65|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoS_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoS),
                     53|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 64|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 81|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 14|128,4, TARGET_VAL(AArch64ISD::FCVTZU_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 64,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 17, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoH),
                    48|128,1, 2, 0, 2,
   17, 53|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_StoS),
                    53|128,1, 2, 0, 2,
   17, 58|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_DtoD),
                    58|128,1, 2, 0, 2,
   0,
  57,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_HtoH),
                    48|128,1, 2, 0, 1,
   15, 53|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_StoS),
                    53|128,1, 2, 0, 1,
   15, 58|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPzZ_DtoD),
                    58|128,1, 2, 0, 1,
   0,
  118,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 16, 48|128,1,
    OPC_CheckChild1Type, 66|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoH_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   36, 53|128,1,
    OPC_Scope, 16,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoS_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 65|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoS_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    0,
   53, 58|128,1,
    OPC_Scope, 16,
     OPC_CheckChild1Type, 64|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 76|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    16,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoD_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    0,
   0,
  23|128,2,
   OPC_RecordChild1,
   OPC_Scope, 45,
    OPC_CheckChild1Type, 66|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoH_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoH),
                     48|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 77|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoS_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoS),
                     53|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 65|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoS_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoS),
                     53|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 64|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 76|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   45,
    OPC_CheckChild1Type, 81|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoD_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoD),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 89|128,2, TARGET_VAL(AArch64ISD::CTLZ_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_B),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_B),
                    42|128,1, 2, 0, 1,
   11, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   11, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_S),
                    53|128,1, 2, 0, 1,
   11, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPzZ_D),
                    58|128,1, 2, 0, 1,
   0,
  65,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_B_UNDEF),
                    42|128,1, 3, 3, 0, 2,
   12, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   12, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_S_UNDEF),
                    53|128,1, 3, 3, 0, 2,
   12, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_D_UNDEF),
                    58|128,1, 3, 3, 0, 2,
   0,
  15|128,1,
   OPC_RecordChild1,
   OPC_Scope, 83,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    16, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    16, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    16, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   55,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_B),
                     42|128,1, 3, 2, 0, 1,
    10, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    10, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    10, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CLZ_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 89|128,2, TARGET_VAL(AArch64ISD::CTPOP_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_B),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_B),
                    42|128,1, 2, 0, 1,
   11, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   11, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_S),
                    53|128,1, 2, 0, 1,
   11, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPzZ_D),
                    58|128,1, 2, 0, 1,
   0,
  65,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_B_UNDEF),
                    42|128,1, 3, 3, 0, 2,
   12, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   12, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_S_UNDEF),
                    53|128,1, 3, 3, 0, 2,
   12, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_D_UNDEF),
                    58|128,1, 3, 3, 0, 2,
   0,
  15|128,1,
   OPC_RecordChild1,
   OPC_Scope, 83,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    16, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    16, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    16, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   55,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_B),
                     42|128,1, 3, 2, 0, 1,
    10, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    10, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    10, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CNT_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 109|128,5, TARGET_VAL(AArch64ISD::SIGN_EXTEND_INREG_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 28|128,1,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   51,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 21,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_S),
                     53|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPzZ_S),
                     53|128,1, 2, 0, 2,
    0,
   73,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 21,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    0,
   0,
  100,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 21,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   48,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_Scope, 24,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    15,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    0,
   0,
  69|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 44,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 19,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    0,
   47,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 20,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_S_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_S_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    0,
   98,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckValueType, 40|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_S_UNDEF),
                      53|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_S),
                      53|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 47|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_S_UNDEF),
                      53|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_S),
                      53|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  30|128,2,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 64,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 19,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    0,
   68,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 20,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    0,
   17|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckValueType, 39|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTB_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 46|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTH_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 52|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SXTW_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  0,
 109|128,5, TARGET_VAL(AArch64ISD::ZERO_EXTEND_INREG_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 28|128,1,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   51,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 21,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_S),
                     53|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPzZ_S),
                     53|128,1, 2, 0, 2,
    0,
   73,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 21,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    21,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTW_ZPzZ_D),
                     58|128,1, 2, 0, 2,
    0,
   0,
  100,
   OPC_CheckChild0Type, 34|128,1,
   OPC_Scope, 21,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   23,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   48,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckValueType, 41|128,1,
    OPC_Scope, 24,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    15,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    0,
   0,
  69|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_Scope, 44,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 19,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    0,
   47,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 20,
     OPC_CheckValueType, 40|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_S_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_S_UNDEF),
                     53|128,1, 3, 3, 0, 2,
    0,
   98,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckValueType, 40|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_S_UNDEF),
                      53|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_S),
                      53|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 47|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_S_UNDEF),
                      53|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 53|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_S),
                      53|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  30|128,2,
   OPC_CheckChild0Type, 32|128,1,
   OPC_Scope, 64,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 19,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    19,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTW_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    0,
   68,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 20,
     OPC_CheckValueType, 39|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    20,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTW_ZPmZ_D_UNDEF),
                     58|128,1, 3, 3, 0, 2,
    0,
   17|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_Scope, 46,
     OPC_CheckValueType, 39|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTB_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 46|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTH_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    46,
     OPC_CheckValueType, 52|128,1,
     OPC_Scope, 24,
      OPC_MoveSibling3,
      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTW_ZPmZ_D_UNDEF),
                      58|128,1, 3, 2, 0, 1,
     15,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckType, 58|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UXTW_ZPmZ_D),
                      58|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  0,
 89|128,2, TARGET_VAL(AArch64ISD::ABS_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_B),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_B),
                    42|128,1, 2, 0, 1,
   11, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   11, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_S),
                    53|128,1, 2, 0, 1,
   11, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPzZ_D),
                    58|128,1, 2, 0, 1,
   0,
  65,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_B_UNDEF),
                    42|128,1, 3, 3, 0, 2,
   12, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   12, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_S_UNDEF),
                    53|128,1, 3, 3, 0, 2,
   12, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_D_UNDEF),
                    58|128,1, 3, 3, 0, 2,
   0,
  15|128,1,
   OPC_RecordChild1,
   OPC_Scope, 83,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    16, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    16, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    16, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   55,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_B),
                     42|128,1, 3, 2, 0, 1,
    10, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    10, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    10, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ABS_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 89|128,2, TARGET_VAL(AArch64ISD::NEG_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_B),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_B),
                    42|128,1, 2, 0, 1,
   11, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_H),
                    48|128,1, 2, 0, 1,
   11, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_S),
                    53|128,1, 2, 0, 1,
   11, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPzZ_D),
                    58|128,1, 2, 0, 1,
   0,
  65,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B_UNDEF),
                    42|128,1, 3, 3, 0, 2,
   12, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H_UNDEF),
                    48|128,1, 3, 3, 0, 2,
   12, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S_UNDEF),
                    53|128,1, 3, 3, 0, 2,
   12, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D_UNDEF),
                    58|128,1, 3, 3, 0, 2,
   0,
  15|128,1,
   OPC_RecordChild1,
   OPC_Scope, 83,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B_UNDEF),
                     42|128,1, 3, 2, 0, 1,
    16, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H_UNDEF),
                     48|128,1, 3, 2, 0, 1,
    16, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S_UNDEF),
                     53|128,1, 3, 2, 0, 1,
    16, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D_UNDEF),
                     58|128,1, 3, 2, 0, 1,
    0,
   55,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 42|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_B),
                     42|128,1, 3, 2, 0, 1,
    10, 48|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    10, 53|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    10, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::NEG_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 62|128,1, TARGET_VAL(AArch64ISD::BITREVERSE_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_B),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  116,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 25, 42|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_B),
                     42|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPmZ_B),
                     42|128,1, 3, 2, 0, 1,
    0,
   25, 48|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_H),
                     48|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    0,
   25, 53|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    0,
   25, 58|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RBIT_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 18|128,1, TARGET_VAL(AArch64ISD::BSWAP_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_H),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 25, 48|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_H),
                     48|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPmZ_H),
                     48|128,1, 3, 2, 0, 1,
    0,
   25, 53|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    0,
   25, 58|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVB_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 102, TARGET_VAL(AArch64ISD::REVH_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 37,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPzZ_S),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPzZ_D),
                    58|128,1, 2, 0, 2,
   0,
  60,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 25, 53|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPzZ_S),
                     53|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPmZ_S),
                     53|128,1, 3, 2, 0, 1,
    0,
   25, 58|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPzZ_D),
                     58|128,1, 2, 0, 1,
    10,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVH_ZPmZ_D),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 51, TARGET_VAL(AArch64ISD::REVW_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_CheckType, 58|128,1,
  OPC_Scope, 16,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate5,
   OPC_CheckComplexPat0, /*#*/1,
   OPC_CheckComplexPat4, /*#*/3,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVW_ZPzZ_D),
                   58|128,1, 2, 0, 2,
  27,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVW_ZPzZ_D),
                    58|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVW_ZPmZ_D),
                    58|128,1, 3, 2, 0, 1,
   0,
  0,
 1|128,3, TARGET_VAL(AArch64ISD::REVD_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 42|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    42|128,1, 2, 0, 2,
   13, 48|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    48|128,1, 2, 0, 2,
   13, 53|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    53|128,1, 2, 0, 2,
   13, 58|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    58|128,1, 2, 0, 2,
   0,
  120,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 26, 42|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     42|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     42|128,1, 3, 2, 0, 1,
    0,
   26, 48|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     48|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     48|128,1, 3, 2, 0, 1,
    0,
   26, 53|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     53|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     53|128,1, 3, 2, 0, 1,
    0,
   26, 58|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     58|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     58|128,1, 3, 2, 0, 1,
    0,
   0,
  69,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 72|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    72|128,1, 2, 0, 2,
   13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    66|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    77|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                    81|128,1, 2, 0, 2,
   0,
  120,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 26, 72|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     72|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     72|128,1, 3, 2, 0, 1,
    0,
   26, 66|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     66|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     66|128,1, 3, 2, 0, 1,
    0,
   26, 77|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     77|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     77|128,1, 3, 2, 0, 1,
    0,
   26, 81|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPzZ),
                     81|128,1, 2, 0, 1,
    11,
     OPC_CheckPatternPredicate, 35,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REVD_ZPmZ),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 34|128,6, TARGET_VAL(AArch64ISD::DUP),
  OPC_Scope, 50|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 127, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 84,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v2i32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i32lane),
                      MVT::v2i32, 2, 0, 2,
     8, MVT::v4i32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i32lane),
                      MVT::v4i32, 2, 0, 2,
     11, MVT::v8i8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 13, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i8lane),
                      MVT::v8i8, 2, 0, 3,
     11, MVT::v16i8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 13, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv16i8lane),
                      MVT::v16i8, 2, 0, 3,
     11, MVT::v4i16,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                      MVT::v4i16, 2, 0, 3,
     11, MVT::v8i16,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                      MVT::v8i16, 2, 0, 3,
     0,
    38,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 11, MVT::v8i8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i8lane),
                      MVT::v8i8, 2, 0, 3,
     11, MVT::v16i8,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv16i8lane),
                      MVT::v16i8, 2, 0, 3,
     0,
    0,
   41|128,1, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI64,
    OPC_CheckPredicate1,
    OPC_Scope, 56,
     OPC_CheckPredicate, 36,
     OPC_CheckTypeI32,
     OPC_Scope, 24,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v8i8,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8b), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 1, 1,
      8, MVT::v16i8,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv16b), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 1, 1,
      0,
     25,
      OPC_CheckPredicate, 14,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v4i16,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 1, 1,
      8, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 1, 1,
      0,
     0,
    104,
     OPC_CheckPredicate, 23,
     OPC_SwitchType , 23, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v2i32,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2s), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 1, 1,
      8, MVT::v4i32,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4s), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 1, 1,
      0,
     23, MVT::i64,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2d), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 1, 1,
      8, MVT::v1i64,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv1d), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v1i64, 1, 1,
      0,
     23, MVT::i8,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v8i8,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8b), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 1, 1,
      8, MVT::v16i8,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv16b), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i8, 1, 1,
      0,
     23, MVT::i16,
      OPC_MoveParent,
      OPC_SwitchType , 8, MVT::v4i16,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 1, 1,
      8, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 1, 1,
      0,
     0,
    0,
   0,
  14|128,1,
   OPC_RecordChild0,
   OPC_Scope, 57,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 7, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i8gpr),
                     MVT::v8i8, 1, 0,
    7, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv16i8gpr),
                     MVT::v16i8, 1, 0,
    7, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16gpr),
                     MVT::v4i16, 1, 0,
    7, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16gpr),
                     MVT::v8i16, 1, 0,
    7, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i32gpr),
                     MVT::v2i32, 1, 0,
    7, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i32gpr),
                     MVT::v4i32, 1, 0,
    0,
   23,
    OPC_CheckChild0TypeI64,
    OPC_SwitchType , 7, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i64gpr),
                     MVT::v2i64, 1, 0,
    9, MVT::v1i64,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v1i64, 2, 0, 1,
    0,
   56,
    OPC_CheckChild0Type, MVT::i8,
    OPC_SwitchType , 24, MVT::v8i8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i8lane),
                     MVT::v8i8, 2, 3, 4,
    24, MVT::v16i8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, AArch64::bsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv16i8lane),
                     MVT::v16i8, 2, 3, 4,
    0,
   0,
  121,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI64,
   OPC_CheckPredicate1,
   OPC_CheckPredicate, 23,
   OPC_SwitchType , 27, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 9, 2|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2s), 0|OPFL_Chain|OPFL_MemRefs,
                     2|128,1, 1, 1,
    9, 4|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4s), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 1, 1,
    0,
   27, MVT::f64,
    OPC_MoveParent,
    OPC_SwitchType , 9, 22|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2d), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 1, 1,
    9, 21|128,1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv1d), 0|OPFL_Chain|OPFL_MemRefs,
                     21|128,1, 1, 1,
    0,
   23, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4f16,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4f16, 1, 1,
    8, MVT::v8f16,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8f16, 1, 1,
    0,
   23, MVT::bf16,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4bf16,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4bf16, 1, 1,
    8, MVT::v8bf16,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8bf16, 1, 1,
    0,
   0,
  96|128,1,
   OPC_RecordChild0,
   OPC_Scope, 45,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 10, 21|128,1,
     OPC_EmitIntegerI32, AArch64::FPR64RegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     21|128,1, 2, 0, 1,
    25, 22|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::dsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i64lane),
                     22|128,1, 2, 3, 4,
    0,
   60,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 25, 2|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv2i32lane),
                     2|128,1, 2, 3, 4,
    25, 4|128,1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, AArch64::ssub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i32lane),
                     4|128,1, 2, 3, 4,
    0,
   56,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 24, MVT::v4f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                     MVT::v4f16, 2, 3, 4,
    24, MVT::v8f16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                     MVT::v8f16, 2, 3, 4,
    0,
   56,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_SwitchType , 24, MVT::v4bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv4i16lane),
                     MVT::v4bf16, 2, 3, 4,
    24, MVT::v8bf16,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, AArch64::hsub,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 0, 2,
     OPC_EmitIntegerI64, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::DUPv8i16lane),
                     MVT::v8bf16, 2, 3, 4,
    0,
   0,
  0,
 59|128,1, TARGET_VAL(ISD::VECTOR_SPLICE_RIGHT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild2Integer, 1,
  OPC_CheckChild2TypeI64,
  OPC_SwitchType , 42, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_B),
                   31|128,1, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_VPZ_B),
                   MVT::i8, 2, 4, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_B),
                   42|128,1, 2, 1, 7,
  42, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_H),
                   31|128,1, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_VPZ_H),
                   MVT::i16, 2, 4, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_H),
                   48|128,1, 2, 1, 7,
  42, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_S),
                   31|128,1, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_VPZ_S),
                   MVT::i32, 2, 4, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_S),
                   53|128,1, 2, 1, 7,
  42, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   42|128,1, 0,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(AArch64::PTRUE_D),
                   31|128,1, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(AArch64::LASTB_VPZ_D),
                   MVT::i64, 2, 4, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   42|128,1, 3, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INSR_ZV_D),
                   58|128,1, 2, 1, 7,
  0,
 54, TARGET_VAL(AArch64ISD::PTRUE),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckPredicate, 9,
  OPC_MoveParent,
  OPC_SwitchType , 8, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_B),
                   35|128,1, 1, 0,
  8, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_H),
                   34|128,1, 1, 0,
  8, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_S),
                   33|128,1, 1, 0,
  8, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::PTRUE_D),
                   32|128,1, 1, 0,
  0,
 77|128,20, TARGET_VAL(ISD::SETCC),
  OPC_Scope, 18|128,3,
   OPC_RecordChild0,
   OPC_Scope, 56,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i8rz),
                      MVT::v8i8, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8rz),
                      MVT::v8i8, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8rz),
                      MVT::v8i8, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8rz),
                     MVT::v8i8, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv16i8rz),
                      MVT::v16i8, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8rz),
                      MVT::v16i8, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8rz),
                      MVT::v16i8, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8rz),
                     MVT::v16i8, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i16rz),
                      MVT::v4i16, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16rz),
                      MVT::v4i16, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16rz),
                      MVT::v4i16, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16rz),
                     MVT::v4i16, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i16rz),
                      MVT::v8i16, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16rz),
                      MVT::v8i16, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16rz),
                      MVT::v8i16, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16rz),
                     MVT::v8i16, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i32rz),
                      MVT::v2i32, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32rz),
                      MVT::v2i32, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32rz),
                      MVT::v2i32, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32rz),
                     MVT::v2i32, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i32rz),
                      MVT::v4i32, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32rz),
                      MVT::v4i32, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32rz),
                      MVT::v4i32, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32rz),
                     MVT::v4i32, 1, 0,
    0,
   56,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveChild1,
    OPC_Scope, 36,
     OPC_CheckImmAllZerosV,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i64rz),
                      MVT::v2i64, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64rz),
                      MVT::v2i64, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64rz),
                      MVT::v2i64, 1, 0,
     0,
    13,
     OPC_CheckImmAllOnesV,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64rz),
                     MVT::v2i64, 1, 0,
    0,
   0,
  72|128,1,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 26, MVT::v8i8,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i8rz),
                     MVT::v8i8, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i8rz),
                     MVT::v8i8, 1, 0,
    0,
   26, MVT::v16i8,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv16i8rz),
                     MVT::v16i8, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv16i8rz),
                     MVT::v16i8, 1, 0,
    0,
   26, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i16rz),
                     MVT::v4i16, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i16rz),
                     MVT::v4i16, 1, 0,
    0,
   26, MVT::v8i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i16rz),
                     MVT::v8i16, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i16rz),
                     MVT::v8i16, 1, 0,
    0,
   26, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i32rz),
                     MVT::v2i32, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i32rz),
                     MVT::v2i32, 1, 0,
    0,
   26, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i32rz),
                     MVT::v4i32, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i32rz),
                     MVT::v4i32, 1, 0,
    0,
   26, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i64rz),
                     MVT::v2i64, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i64rz),
                     MVT::v2i64, 1, 0,
    0,
   0,
  4|128,3,
   OPC_RecordChild0,
   OPC_Scope, 54,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i8rz),
                     MVT::v8i8, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv16i8rz),
                     MVT::v16i8, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i16rz),
                     MVT::v4i16, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i16rz),
                     MVT::v8i16, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i32rz),
                     MVT::v2i32, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i32rz),
                     MVT::v4i32, 1, 0,
    0,
   54,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_MoveChild1,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i64rz),
                     MVT::v2i64, 1, 0,
    0,
   0,
  119|128,2,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 51, MVT::v8i8,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8rz),
                     MVT::v8i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8rz),
                     MVT::v8i8, 1, 0,
    0,
   51, MVT::v16i8,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8rz),
                     MVT::v16i8, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8rz),
                     MVT::v16i8, 1, 0,
    0,
   51, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16rz),
                     MVT::v4i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16rz),
                     MVT::v4i16, 1, 0,
    0,
   51, MVT::v8i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16rz),
                     MVT::v8i16, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16rz),
                     MVT::v8i16, 1, 0,
    0,
   51, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32rz),
                     MVT::v2i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32rz),
                     MVT::v2i32, 1, 0,
    0,
   51, MVT::v4i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32rz),
                     MVT::v4i32, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32rz),
                     MVT::v4i32, 1, 0,
    0,
   51, MVT::v2i64,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_Scope, 8,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64rz),
                     MVT::v2i64, 1, 0,
    8,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64rz),
                     MVT::v2i64, 1, 0,
    0,
   0,
  57,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_MoveChild1,
   OPC_Scope, 36,
    OPC_CheckImmAllZerosV,
    OPC_MoveParent,
    OPC_CheckType, MVT::v1i64,
    OPC_Scope, 9,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv1i64rz),
                     MVT::v1i64, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv1i64rz),
                     MVT::v1i64, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv1i64rz),
                     MVT::v1i64, 1, 0,
    0,
   13,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv1i64rz),
                    MVT::v1i64, 1, 0,
   0,
  30,
   OPC_MoveChild0,
   OPC_CheckImmAllZerosV,
   OPC_CheckType, MVT::v1i64,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v1i64,
   OPC_Scope, 9,
    OPC_CheckChild2CondCode, ISD::SETGE,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLEv1i64rz),
                    MVT::v1i64, 1, 0,
   9,
    OPC_CheckChild2CondCode, ISD::SETGT,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMLTv1i64rz),
                    MVT::v1i64, 1, 0,
   0,
  19|128,9,
   OPC_RecordChild0,
   OPC_SwitchType , 27|128,1, MVT::v8i8,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i8),
                      MVT::v8i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i8),
                      MVT::v8i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8),
                      MVT::v8i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8),
                      MVT::v8i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8),
                      MVT::v8i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8),
                      MVT::v8i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i8),
                      MVT::v8i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i8),
                      MVT::v8i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i8),
                      MVT::v8i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i8),
                      MVT::v8i8, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i8),
                     MVT::v8i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i8),
                     MVT::v8i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i8),
                     MVT::v8i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i8),
                     MVT::v8i8, 2, 1, 0,
    0,
   27|128,1, MVT::v16i8,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv16i8),
                      MVT::v16i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv16i8),
                      MVT::v16i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8),
                      MVT::v16i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8),
                      MVT::v16i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8),
                      MVT::v16i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8),
                      MVT::v16i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv16i8),
                      MVT::v16i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv16i8),
                      MVT::v16i8, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv16i8),
                      MVT::v16i8, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv16i8),
                      MVT::v16i8, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv16i8),
                     MVT::v16i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv16i8),
                     MVT::v16i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv16i8),
                     MVT::v16i8, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv16i8),
                     MVT::v16i8, 2, 1, 0,
    0,
   27|128,1, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i16),
                      MVT::v4i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16),
                      MVT::v4i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16),
                      MVT::v4i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i16),
                      MVT::v4i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i16),
                      MVT::v4i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i16),
                      MVT::v4i16, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i16),
                     MVT::v4i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i16),
                     MVT::v4i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i16),
                     MVT::v4i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i16),
                     MVT::v4i16, 2, 1, 0,
    0,
   27|128,1, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i16),
                      MVT::v8i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv8i16),
                      MVT::v8i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16),
                      MVT::v8i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16),
                      MVT::v8i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16),
                      MVT::v8i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16),
                      MVT::v8i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i16),
                      MVT::v8i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i16),
                      MVT::v8i16, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i16),
                      MVT::v8i16, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i16),
                      MVT::v8i16, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv8i16),
                     MVT::v8i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv8i16),
                     MVT::v8i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv8i16),
                     MVT::v8i16, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv8i16),
                     MVT::v8i16, 2, 1, 0,
    0,
   27|128,1, MVT::v2i32,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i32),
                      MVT::v2i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32),
                      MVT::v2i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32),
                      MVT::v2i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i32),
                      MVT::v2i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i32),
                      MVT::v2i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i32),
                      MVT::v2i32, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i32),
                     MVT::v2i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i32),
                     MVT::v2i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i32),
                     MVT::v2i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i32),
                     MVT::v2i32, 2, 1, 0,
    0,
   27|128,1, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i32),
                      MVT::v4i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32),
                      MVT::v4i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32),
                      MVT::v4i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i32),
                      MVT::v4i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i32),
                      MVT::v4i32, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i32),
                      MVT::v4i32, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv4i32),
                     MVT::v4i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv4i32),
                     MVT::v4i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv4i32),
                     MVT::v4i32, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv4i32),
                     MVT::v4i32, 2, 1, 0,
    0,
   27|128,1, MVT::v2i64,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_RecordChild1,
    OPC_Scope, 21,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i64),
                      MVT::v2i64, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64),
                      MVT::v2i64, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64),
                      MVT::v2i64, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i64),
                      MVT::v2i64, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    21,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i64),
                      MVT::v2i64, 2, 0, 1,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i64),
                      MVT::v2i64, 2, 0, 1,
     0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv2i64),
                     MVT::v2i64, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv2i64),
                     MVT::v2i64, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv2i64),
                     MVT::v2i64, 2, 1, 0,
    9,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv2i64),
                     MVT::v2i64, 2, 1, 0,
    0,
   60, MVT::v1i64,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_RecordChild1,
    OPC_Scope, 10,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMEQv1i64),
                     MVT::v1i64, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGEv1i64),
                     MVT::v1i64, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMGTv1i64),
                     MVT::v1i64, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHIv1i64),
                     MVT::v1i64, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_CheckPatternPredicate1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::CMHSv1i64),
                     MVT::v1i64, 2, 0, 1,
    0,
   0,
  0,
 31, TARGET_VAL(AArch64ISD::MOVI),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv8b_ns),
                   MVT::v8i8, 1, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv16b_ns),
                   MVT::v16i8, 1, 1,
  0,
 64|128,1, TARGET_VAL(AArch64ISD::VSLI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 14,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLId),
                   MVT::v1i64, 3, 0, 1, 2,
  27,
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv8i8_shift),
                    MVT::v8i8, 3, 0, 1, 2,
   9, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv16i8_shift),
                    MVT::v16i8, 3, 0, 1, 2,
   0,
  27,
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv4i16_shift),
                    MVT::v4i16, 3, 0, 1, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv8i16_shift),
                    MVT::v8i16, 3, 0, 1, 2,
   0,
  27,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv2i32_shift),
                    MVT::v2i32, 3, 0, 1, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv4i32_shift),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  14,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLIv2i64_shift),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLI_ZZI_B),
                   42|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLI_ZZI_H),
                   48|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 48,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLI_ZZI_S),
                   53|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SLI_ZZI_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 64|128,1, TARGET_VAL(AArch64ISD::VSRI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_CheckTypeI32,
  OPC_Scope, 14,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRId),
                   MVT::v1i64, 3, 0, 1, 2,
  27,
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv8i8_shift),
                    MVT::v8i8, 3, 0, 1, 2,
   9, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv16i8_shift),
                    MVT::v16i8, 3, 0, 1, 2,
   0,
  27,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv4i16_shift),
                    MVT::v4i16, 3, 0, 1, 2,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv8i16_shift),
                    MVT::v8i16, 3, 0, 1, 2,
   0,
  27,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_SwitchType , 9, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv2i32_shift),
                    MVT::v2i32, 3, 0, 1, 2,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv4i32_shift),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  14,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRIv2i64_shift),
                   MVT::v2i64, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRI_ZZI_B),
                   42|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRI_ZZI_H),
                   48|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRI_ZZI_S),
                   53|128,1, 3, 0, 1, 2,
  16,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRI_ZZI_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 25|128,1, TARGET_VAL(AArch64ISD::GLD1S_IMM_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 60,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 22,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_S_IMM),
                    53|128,1, 3, 1, 2, 4,
   25,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_S_IMM),
                    53|128,1, 3, 1, 2, 5,
   0,
  86,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 22,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_D_IMM),
                    58|128,1, 3, 1, 2, 4,
   25,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_IMM),
                    58|128,1, 3, 1, 2, 5,
   25,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_IMM),
                    58|128,1, 3, 1, 2, 5,
   0,
  0,
 30|128,1, TARGET_VAL(AArch64ISD::GLDFF1S_IMM_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 62,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 23,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 4,
   26,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 5,
   0,
  89,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 23,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 4,
   26,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 5,
   26,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 5,
   0,
  0,
 77|128,1, TARGET_VAL(AArch64ISD::GLD1_IMM_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 86,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 22,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_S_IMM),
                    53|128,1, 3, 1, 2, 4,
   25,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_S_IMM),
                    53|128,1, 3, 1, 2, 5,
   25,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_IMM),
                    53|128,1, 3, 1, 2, 5,
   0,
  112,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 22,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_D_IMM),
                    58|128,1, 3, 1, 2, 4,
   25,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_IMM),
                    58|128,1, 3, 1, 2, 5,
   25,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_IMM),
                    58|128,1, 3, 1, 2, 5,
   25,
    OPC_CheckPredicate, 97,
    OPC_MoveSibling4,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 11, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_IMM),
                    58|128,1, 3, 1, 2, 5,
   0,
  0,
 84|128,1, TARGET_VAL(AArch64ISD::GLDFF1_IMM_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 89,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 23,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 4,
   26,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_S_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 5,
   26,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_IMM),
                    53|128,1, MVT::i64, 3, 1, 2, 5,
   0,
  116,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI64,
   OPC_Scope, 23,
    OPC_CheckPredicate, 41,
    OPC_MoveSibling4,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 4,
   26,
    OPC_CheckPredicate, 54,
    OPC_MoveSibling4,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 9, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 5,
   26,
    OPC_CheckPredicate, 66,
    OPC_MoveSibling4,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 10, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 5,
   26,
    OPC_CheckPredicate, 97,
    OPC_MoveSibling4,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 11, 4,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_IMM),
                    58|128,1, MVT::i64, 3, 1, 2, 5,
   0,
  0,
 105|128,1, TARGET_VAL(ISD::STEP_VECTOR),
  OPC_RecordChild0,
  OPC_Scope, 4|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_SwitchType , 20, MVT::i8,
    OPC_CheckPredicate, 80,
    OPC_MoveParent,
    OPC_CheckType, 42|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_B),
                    42|128,1, 2, 1, 2,
   20, MVT::i16,
    OPC_CheckPredicate, 81,
    OPC_MoveParent,
    OPC_CheckType, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_H),
                    48|128,1, 2, 1, 2,
   18, MVT::i32,
    OPC_CheckPredicate, 123,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_S),
                    53|128,1, 2, 1, 2,
   60, MVT::i64,
    OPC_Scope, 18,
     OPC_CheckPredicate, 124,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_II_D),
                     58|128,1, 2, 1, 2,
    38,
     OPC_CheckPredicate, 79,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitIntegerI64, 0,
     OPC_EmitNodeXForm, 0, 0,
     OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                     MVT::i32, 1, 3,
     OPC_EmitIntegerI32, AArch64::sub_32,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                     MVT::i64, 3, 2, 4, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                     58|128,1, 2, 1, 6,
    0,
   0,
  25,
   OPC_CheckChild0Type, MVT::i8,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNodeXForm, 0, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                   MVT::i32, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_B),
                   42|128,1, 2, 1, 3,
  25,
   OPC_CheckChild0Type, MVT::i16,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNodeXForm, 0, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                   MVT::i32, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_H),
                   48|128,1, 2, 1, 3,
  21,
   OPC_CheckChild0TypeI32,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi32imm),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_S),
                   53|128,1, 2, 1, 2,
  21,
   OPC_CheckChild0TypeI64,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI64, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::MOVi64imm),
                   MVT::i64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::INDEX_IR_D),
                   58|128,1, 2, 1, 2,
  0,
 107, TARGET_VAL(AArch64ISD::URSHR_I_PRED),
  OPC_RecordChild0,
  OPC_Scope, 25,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_B),
                   42|128,1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_H),
                   48|128,1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_S),
                   53|128,1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URSHR_ZPmI_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 75, TARGET_VAL(AArch64ISD::RSHRNB_I),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_B),
                   42|128,1, 2, 0, 1,
  23,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_H),
                   48|128,1, 2, 0, 1,
  23,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 17,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::RSHRNB_ZZI_S),
                   53|128,1, 2, 0, 1,
  0,
 121, TARGET_VAL(AArch64ISD::MULHS_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 26, 42|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZZZ_B),
                    42|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   0,
  26, 48|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZZZ_H),
                    48|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   0,
  26, 53|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZZZ_S),
                    53|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   0,
  26, 58|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZZZ_D),
                    58|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMULH_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 121, TARGET_VAL(AArch64ISD::MULHU_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 26, 42|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZZZ_B),
                    42|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPZZ_B_UNDEF),
                    42|128,1, 3, 0, 1, 2,
   0,
  26, 48|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZZZ_H),
                    48|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPZZ_H_UNDEF),
                    48|128,1, 3, 0, 1, 2,
   0,
  26, 53|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZZZ_S),
                    53|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPZZ_S_UNDEF),
                    53|128,1, 3, 0, 1, 2,
   0,
  26, 58|128,1,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZZZ_D),
                    58|128,1, 2, 1, 2,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMULH_ZPZZ_D_UNDEF),
                    58|128,1, 3, 0, 1, 2,
   0,
  0,
 65|128,4, TARGET_VAL(AArch64ISD::SPLICE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 41, 42|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_B),
                    42|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_B),
                    42|128,1, 3, 0, 1, 2,
   0,
  41, 48|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_H),
                    48|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_H),
                    48|128,1, 3, 0, 1, 2,
   0,
  41, 53|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_S),
                    53|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_S),
                    53|128,1, 3, 0, 1, 2,
   0,
  41, 58|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_D),
                    58|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_D),
                    58|128,1, 3, 0, 1, 2,
   0,
  41, 66|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_H),
                    66|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_H),
                    66|128,1, 3, 0, 1, 2,
   0,
  41, 72|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_H),
                    72|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_H),
                    72|128,1, 3, 0, 1, 2,
   0,
  41, 65|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_S),
                    65|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_S),
                    65|128,1, 3, 0, 1, 2,
   0,
  41, 77|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_S),
                    77|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_S),
                    77|128,1, 3, 0, 1, 2,
   0,
  41, 71|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_S),
                    71|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_S),
                    71|128,1, 3, 0, 1, 2,
   0,
  41, 64|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_D),
                    64|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_D),
                    64|128,1, 3, 0, 1, 2,
   0,
  41, 76|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_D),
                    76|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_D),
                    76|128,1, 3, 0, 1, 2,
   0,
  41, 81|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_D),
                    81|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_D),
                    81|128,1, 3, 0, 1, 2,
   0,
  41, 70|128,1,
   OPC_Scope, 27,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0|128,1,
    OPC_EmitIntegerI32, AArch64::zsub0,
    OPC_EmitIntegerI32, AArch64::zsub1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    119|128,1, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZZ_D),
                    70|128,1, 2, 0, 6,
   10,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SPLICE_ZPZ_D),
                    70|128,1, 3, 0, 1, 2,
   0,
  0,
 68, TARGET_VAL(ISD::PARTIAL_REDUCE_SUMLA),
  OPC_RecordChild0,
  OPC_SwitchType , 18, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i8,
   OPC_CheckPatternPredicate, 69,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTv8i8),
                   MVT::v2i32, 3, 0, 2, 1,
  18, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_CheckPatternPredicate, 69,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOTv16i8),
                   MVT::v4i32, 3, 0, 2, 1,
  22, 53|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2Type, 42|128,1,
   OPC_CheckPatternPredicate, 95,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::USDOT_ZZZ),
                   53|128,1, 3, 0, 2, 1,
  0,
 71, TARGET_VAL(AArch64ISD::REV32),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v16i8),
                   MVT::v16i8, 1, 0,
  7, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                   MVT::v4i16, 1, 0,
  7, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                   MVT::v8i16, 1, 0,
  6, MVT::v4f16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                   MVT::v4f16, 1, 0,
  6, MVT::v4bf16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v4i16),
                   MVT::v4bf16, 1, 0,
  6, MVT::v8f16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                   MVT::v8f16, 1, 0,
  6, MVT::v8bf16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV32v8i16),
                   MVT::v8bf16, 1, 0,
  0,
 109, TARGET_VAL(AArch64ISD::REV64),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i8),
                   MVT::v8i8, 1, 0,
  7, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v16i8),
                   MVT::v16i8, 1, 0,
  7, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                   MVT::v4i16, 1, 0,
  7, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                   MVT::v8i16, 1, 0,
  7, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                   MVT::v2i32, 1, 0,
  7, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                   MVT::v4i32, 1, 0,
  6, MVT::v4f16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                   MVT::v4f16, 1, 0,
  6, MVT::v4bf16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i16),
                   MVT::v4bf16, 1, 0,
  6, MVT::v8f16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                   MVT::v8f16, 1, 0,
  6, MVT::v8bf16,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v8i16),
                   MVT::v8bf16, 1, 0,
  7, 2|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v2i32),
                   2|128,1, 1, 0,
  7, 4|128,1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::REV64v4i32),
                   4|128,1, 1, 0,
  0,
 69, TARGET_VAL(AArch64ISD::SADDLP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::v4i16,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv8i8_v4i16),
                   MVT::v4i16, 1, 0,
  9, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv16i8_v8i16),
                   MVT::v8i16, 1, 0,
  9, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv4i16_v2i32),
                   MVT::v2i32, 1, 0,
  9, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv8i16_v4i32),
                   MVT::v4i32, 1, 0,
  9, MVT::v1i64,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv2i32_v1i64),
                   MVT::v1i64, 1, 0,
  9, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDLPv4i32_v2i64),
                   MVT::v2i64, 1, 0,
  0,
 69, TARGET_VAL(AArch64ISD::UADDLP),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::v4i16,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv8i8_v4i16),
                   MVT::v4i16, 1, 0,
  9, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv16i8_v8i16),
                   MVT::v8i16, 1, 0,
  9, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv4i16_v2i32),
                   MVT::v2i32, 1, 0,
  9, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv8i16_v4i32),
                   MVT::v4i32, 1, 0,
  9, MVT::v1i64,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv2i32_v1i64),
                   MVT::v1i64, 1, 0,
  9, MVT::v2i64,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDLPv4i32_v2i64),
                   MVT::v2i64, 1, 0,
  0,
 64, TARGET_VAL(ISD::ABDS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 64, TARGET_VAL(ISD::AVGFLOORS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 64, TARGET_VAL(ISD::AVGCEILS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 64, TARGET_VAL(ISD::ABDU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 64, TARGET_VAL(ISD::AVGFLOORU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 64, TARGET_VAL(ISD::AVGCEILU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADDv4i32),
                   MVT::v4i32, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::TRN1),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN1_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::TRN2),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TRN2_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::UZP1),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP1_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::UZP2),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UZP2_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::ZIP1),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP1_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 98|128,2, TARGET_VAL(AArch64ISD::ZIP2),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v8i8),
                   MVT::v8i8, 2, 0, 1,
  8, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v16i8),
                   MVT::v16i8, 2, 0, 1,
  8, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i16),
                   MVT::v4i16, 2, 0, 1,
  8, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v8i16),
                   MVT::v8i16, 2, 0, 1,
  8, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v2i32),
                   MVT::v2i32, 2, 0, 1,
  8, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i32),
                   MVT::v4i32, 2, 0, 1,
  8, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v2i64),
                   MVT::v2i64, 2, 0, 1,
  9, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_B),
                   42|128,1, 2, 0, 1,
  9, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_H),
                   48|128,1, 2, 0, 1,
  9, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_S),
                   53|128,1, 2, 0, 1,
  9, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_D),
                   58|128,1, 2, 0, 1,
  9, 35|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_B),
                   35|128,1, 2, 0, 1,
  9, 34|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_H),
                   34|128,1, 2, 0, 1,
  9, 33|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_S),
                   33|128,1, 2, 0, 1,
  9, 32|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_PPP_D),
                   32|128,1, 2, 0, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i16),
                   MVT::v4f16, 2, 0, 1,
  8, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i16),
                   MVT::v4bf16, 2, 0, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v8i16),
                   MVT::v8f16, 2, 0, 1,
  8, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v8i16),
                   MVT::v8bf16, 2, 0, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v2i32),
                   2|128,1, 2, 0, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v4i32),
                   4|128,1, 2, 0, 1,
  9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2v2i64),
                   22|128,1, 2, 0, 1,
  9, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_H),
                   66|128,1, 2, 0, 1,
  9, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_S),
                   65|128,1, 2, 0, 1,
  9, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_S),
                   77|128,1, 2, 0, 1,
  9, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_D),
                   64|128,1, 2, 0, 1,
  9, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_D),
                   76|128,1, 2, 0, 1,
  9, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_D),
                   81|128,1, 2, 0, 1,
  9, 72|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_H),
                   72|128,1, 2, 0, 1,
  9, 71|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_S),
                   71|128,1, 2, 0, 1,
  9, 70|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ZIP2_ZZZ_D),
                   70|128,1, 2, 0, 1,
  0,
 22|128,1, TARGET_VAL(AArch64ISD::SADDV),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ADDPv2i32),
                   MVT::v2i32, 2, 0, 0,
  21, MVT::v2i64,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v2i64, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDPv2i64p),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, AArch64::dsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v2i64, 3, 1, 2, 3,
  21, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i8, 3, 1, 2, 3,
  21, MVT::v16i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv16i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 2, 3,
  21, MVT::v4i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i16, 3, 1, 2, 3,
  21, MVT::v8i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv8i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 2, 3,
  21, MVT::v4i32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::ADDVv4i32v),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 2, 3,
  0,
 127, TARGET_VAL(AArch64ISD::SMAXV),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXPv2i32),
                   MVT::v2i32, 2, 0, 0,
  21, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i8, 3, 1, 2, 3,
  21, MVT::v16i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv16i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 2, 3,
  21, MVT::v4i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i16, 3, 1, 2, 3,
  21, MVT::v8i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv8i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 2, 3,
  21, MVT::v4i32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMAXVv4i32v),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 2, 3,
  0,
 127, TARGET_VAL(AArch64ISD::SMINV),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINPv2i32),
                   MVT::v2i32, 2, 0, 0,
  21, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i8, 3, 1, 2, 3,
  21, MVT::v16i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv16i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 2, 3,
  21, MVT::v4i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i16, 3, 1, 2, 3,
  21, MVT::v8i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv8i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 2, 3,
  21, MVT::v4i32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::SMINVv4i32v),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 2, 3,
  0,
 127, TARGET_VAL(AArch64ISD::UMAXV),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXPv2i32),
                   MVT::v2i32, 2, 0, 0,
  21, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i8, 3, 1, 2, 3,
  21, MVT::v16i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv16i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 2, 3,
  21, MVT::v4i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i16, 3, 1, 2, 3,
  21, MVT::v8i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv8i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 2, 3,
  21, MVT::v4i32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMAXVv4i32v),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 2, 3,
  0,
 127, TARGET_VAL(AArch64ISD::UMINV),
  OPC_RecordChild0,
  OPC_SwitchType , 7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINPv2i32),
                   MVT::v2i32, 2, 0, 0,
  21, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i8, 3, 1, 2, 3,
  21, MVT::v16i8,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv16i8v),
                   MVT::i8, 1, 0,
   OPC_EmitIntegerI32, AArch64::bsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 2, 3,
  21, MVT::v4i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i16, 3, 1, 2, 3,
  21, MVT::v8i16,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv8i16v),
                   MVT::i16, 1, 0,
   OPC_EmitIntegerI32, AArch64::hsub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 2, 3,
  21, MVT::v4i32,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(AArch64::UMINVv4i32v),
                   MVT::i32, 1, 0,
   OPC_EmitIntegerI32, AArch64::ssub,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 2, 3,
  0,
 108|128,2, TARGET_VAL(ISD::BUILD_VECTOR),
  OPC_Scope, 95|128,1,
   OPC_CheckImmAllZerosV,
   OPC_SwitchType , 9, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v2i64, 1, 0,
   9, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v4i32, 1, 0,
   9, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v8i16, 1, 0,
   9, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v16i8, 1, 0,
   18, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 1, 2,
   18, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 2,
   18, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
   18, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 1, 2,
   10, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    22|128,1, 1, 0,
   10, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    4|128,1, 1, 0,
   9, MVT::v8f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v8f16, 1, 0,
   9, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v8bf16, 1, 0,
   10, 21|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                    21|128,1, 1, 0,
   10, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                    2|128,1, 1, 0,
   9, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                    MVT::v4f16, 1, 0,
   9, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVID),
                    MVT::v4bf16, 1, 0,
   0,
  7|128,1,
   OPC_CheckImmAllOnesV,
   OPC_SwitchType , 10, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v2i64, 1, 0,
   10, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v4i32, 1, 0,
   10, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v8i16, 1, 0,
   10, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::v16i8, 1, 0,
   19, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v1i64, 2, 1, 2,
   19, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 2,
   19, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 2,
   19, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitNode1None, TARGET_VAL(AArch64::MOVIv2d_ns),
                    MVT::f128, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 1, 2,
   0,
  0,
 57, TARGET_VAL(AArch64ISD::SADDV_PRED),
  OPC_RecordChild0,
  OPC_CheckType, 58|128,1,
  OPC_Scope, 16,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDV_VPZ_B),
                   58|128,1, 2, 0, 1,
  16,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDV_VPZ_H),
                   58|128,1, 2, 0, 1,
  16,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDV_VPZ_S),
                   58|128,1, 2, 0, 1,
  0,
 74, TARGET_VAL(AArch64ISD::UADDV_PRED),
  OPC_RecordChild0,
  OPC_CheckType, 58|128,1,
  OPC_Scope, 16,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDV_VPZ_B),
                   58|128,1, 2, 0, 1,
  16,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDV_VPZ_H),
                   58|128,1, 2, 0, 1,
  16,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDV_VPZ_S),
                   58|128,1, 2, 0, 1,
  16,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::SMAXV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMAXV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::UMAXV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMAXV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::SMINV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SMINV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::UMINV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UMINV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::ORV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ORV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::EORV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::EORV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 79, TARGET_VAL(AArch64ISD::ANDV_PRED),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 42|128,1,
   OPC_CheckChild0Type, 35|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDV_VPZ_B),
                   42|128,1, 2, 0, 1,
  16, 48|128,1,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDV_VPZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDV_VPZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::ANDV_VPZ_D),
                   58|128,1, 2, 0, 1,
  0,
 31, TARGET_VAL(AArch64ISD::SDIV_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIV_ZPZZ_S_UNDEF),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SDIV_ZPZZ_D_UNDEF),
                   58|128,1, 3, 0, 1, 2,
  0,
 31, TARGET_VAL(AArch64ISD::UDIV_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIV_ZPZZ_S_UNDEF),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UDIV_ZPZZ_D_UNDEF),
                   58|128,1, 3, 0, 1, 2,
  0,
 57, TARGET_VAL(AArch64ISD::ABDS_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPZZ_B_UNDEF),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPZZ_H_UNDEF),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPZZ_S_UNDEF),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SABD_ZPZZ_D_UNDEF),
                   58|128,1, 3, 0, 1, 2,
  0,
 57, TARGET_VAL(AArch64ISD::ABDU_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPZZ_B_UNDEF),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPZZ_H_UNDEF),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPZZ_S_UNDEF),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UABD_ZPZZ_D_UNDEF),
                   58|128,1, 3, 0, 1, 2,
  0,
 45, TARGET_VAL(AArch64ISD::SUNPKLO),
  OPC_RecordChild0,
  OPC_SwitchType , 11, 48|128,1,
   OPC_CheckChild0Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKLO_ZZ_H),
                   48|128,1, 1, 0,
  11, 53|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKLO_ZZ_S),
                   53|128,1, 1, 0,
  11, 58|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKLO_ZZ_D),
                   58|128,1, 1, 0,
  0,
 45, TARGET_VAL(AArch64ISD::SUNPKHI),
  OPC_RecordChild0,
  OPC_SwitchType , 11, 48|128,1,
   OPC_CheckChild0Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKHI_ZZ_H),
                   48|128,1, 1, 0,
  11, 53|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKHI_ZZ_S),
                   53|128,1, 1, 0,
  11, 58|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SUNPKHI_ZZ_D),
                   58|128,1, 1, 0,
  0,
 45, TARGET_VAL(AArch64ISD::UUNPKLO),
  OPC_RecordChild0,
  OPC_SwitchType , 11, 48|128,1,
   OPC_CheckChild0Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_H),
                   48|128,1, 1, 0,
  11, 53|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_S),
                   53|128,1, 1, 0,
  11, 58|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKLO_ZZ_D),
                   58|128,1, 1, 0,
  0,
 45, TARGET_VAL(AArch64ISD::UUNPKHI),
  OPC_RecordChild0,
  OPC_SwitchType , 11, 48|128,1,
   OPC_CheckChild0Type, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_H),
                   48|128,1, 1, 0,
  11, 53|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_S),
                   53|128,1, 1, 0,
  11, 58|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UUNPKHI_ZZ_D),
                   58|128,1, 1, 0,
  0,
 116, TARGET_VAL(AArch64ISD::GLD1S_UXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 44,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_S_UXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_S_UXTW),
                    53|128,1, 3, 1, 2, 3,
   0,
  63,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 116, TARGET_VAL(AArch64ISD::GLD1S_SXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 44,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_S_SXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_S_SXTW),
                    53|128,1, 3, 1, 2, 3,
   0,
  63,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 121, TARGET_VAL(AArch64ISD::GLDFF1S_UXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 46,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_S_UXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_S_UXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  66,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 121, TARGET_VAL(AArch64ISD::GLDFF1S_SXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 46,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_S_SXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_S_SXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  66,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 26|128,1, TARGET_VAL(AArch64ISD::GLD1_UXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 63,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_S_UXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_S_UXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_UXTW),
                    53|128,1, 3, 1, 2, 3,
   0,
  82,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_UXTW),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 26|128,1, TARGET_VAL(AArch64ISD::GLD1_SXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 63,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_S_SXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_S_SXTW),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_SXTW),
                    53|128,1, 3, 1, 2, 3,
   0,
  82,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_SXTW),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 33|128,1, TARGET_VAL(AArch64ISD::GLDFF1_UXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 66,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_S_UXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_S_UXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_UXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  86,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_UXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 33|128,1, TARGET_VAL(AArch64ISD::GLDFF1_SXTW_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 66,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_S_SXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_S_SXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_SXTW),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  86,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_SXTW),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 75, TARGET_VAL(AArch64ISD::GLD1S_UXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 22,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_CheckValueType, 47|128,1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_S_UXTW_SCALED),
                   53|128,1, 3, 1, 2, 3,
  44,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_UXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_UXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 75, TARGET_VAL(AArch64ISD::GLD1S_SXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 22,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_CheckValueType, 47|128,1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_S_SXTW_SCALED),
                   53|128,1, 3, 1, 2, 3,
  44,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_SXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_SXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 78, TARGET_VAL(AArch64ISD::GLDFF1S_UXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 23,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_CheckValueType, 47|128,1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_S_UXTW_SCALED),
                   53|128,1, MVT::i64, 3, 1, 2, 3,
  46,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_UXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_UXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 78, TARGET_VAL(AArch64ISD::GLDFF1S_SXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 23,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_CheckValueType, 47|128,1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_S_SXTW_SCALED),
                   53|128,1, MVT::i64, 3, 1, 2, 3,
  46,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_SXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_SXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 116, TARGET_VAL(AArch64ISD::GLD1_UXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 44,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_UXTW_SCALED),
                    53|128,1, 3, 1, 2, 3,
   0,
  63,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 116, TARGET_VAL(AArch64ISD::GLD1_SXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 44,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED),
                    53|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_SXTW_SCALED),
                    53|128,1, 3, 1, 2, 3,
   0,
  63,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 18,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_SXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   18,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_SXTW_SCALED),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 121, TARGET_VAL(AArch64ISD::GLDFF1_UXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 46,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_S_UXTW_SCALED),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_UXTW_SCALED),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  66,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_UXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_UXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_UXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 121, TARGET_VAL(AArch64ISD::GLDFF1_SXTW_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_Scope, 46,
   OPC_CheckChild3Type, 53|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_S_SXTW_SCALED),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_SXTW_SCALED),
                    53|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  66,
   OPC_CheckChild3Type, 58|128,1,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_SXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_SXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_SXTW_SCALED),
                    58|128,1, MVT::i64, 3, 1, 2, 3,
   0,
  0,
 68, TARGET_VAL(AArch64ISD::GLD1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 18,
   OPC_CheckValueType, 39|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SB_D),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D),
                   58|128,1, 3, 1, 2, 3,
  0,
 71, TARGET_VAL(AArch64ISD::GLDFF1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 19,
   OPC_CheckValueType, 39|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SB_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  0,
 87, TARGET_VAL(AArch64ISD::GLD1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 18,
   OPC_CheckValueType, 39|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1B_D),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D),
                   58|128,1, 3, 1, 2, 3,
  0,
 91, TARGET_VAL(AArch64ISD::GLDFF1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 19,
   OPC_CheckValueType, 39|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1B_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  0,
 43|128,1, TARGET_VAL(AArch64ISD::GLD1Q_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2Type, 58|128,1,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI64,
  OPC_MoveChild4,
  OPC_Scope, 19,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   58|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 53|128,1,
   OPC_MoveParent,
   OPC_CheckType, 53|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   53|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 48|128,1,
   OPC_MoveParent,
   OPC_CheckType, 48|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   48|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 42|128,1,
   OPC_MoveParent,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   42|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 81|128,1,
   OPC_MoveParent,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   81|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 77|128,1,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   77|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 66|128,1,
   OPC_MoveParent,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   66|128,1, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 72|128,1,
   OPC_MoveParent,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate, 56,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1Q),
                   72|128,1, 3, 1, 2, 3,
  0,
 49, TARGET_VAL(AArch64ISD::GLD1S_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 18,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SH_D_SCALED),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1SW_D_SCALED),
                   58|128,1, 3, 1, 2, 3,
  0,
 51, TARGET_VAL(AArch64ISD::GLDFF1S_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 19,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SH_D_SCALED),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1SW_D_SCALED),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  0,
 68, TARGET_VAL(AArch64ISD::GLD1_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 18,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1H_D_SCALED),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1W_D_SCALED),
                   58|128,1, 3, 1, 2, 3,
  18,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::GLD1D_SCALED),
                   58|128,1, 3, 1, 2, 3,
  0,
 71, TARGET_VAL(AArch64ISD::GLDFF1_SCALED_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI64,
  OPC_RecordChild3,
  OPC_CheckChild3Type, 58|128,1,
  OPC_MoveChild4,
  OPC_Scope, 19,
   OPC_CheckValueType, 46|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1H_D_SCALED),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 52|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1W_D_SCALED),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  19,
   OPC_CheckValueType, 58|128,1,
   OPC_MoveParent,
   OPC_CheckType, 58|128,1,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(AArch64::GLDFF1D_SCALED),
                   58|128,1, MVT::i64, 3, 1, 2, 3,
  0,
 122, TARGET_VAL(AArch64ISD::TBL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckType, 42|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_B),
                   42|128,1, 2, 0, 1,
  41,
   OPC_CheckChild1Type, 48|128,1,
   OPC_SwitchType , 9, 48|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_H),
                    48|128,1, 2, 0, 1,
   9, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_H),
                    66|128,1, 2, 0, 1,
   9, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_H),
                    72|128,1, 2, 0, 1,
   0,
  29,
   OPC_CheckChild1Type, 53|128,1,
   OPC_SwitchType , 9, 53|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_S),
                    53|128,1, 2, 0, 1,
   9, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_S),
                    77|128,1, 2, 0, 1,
   0,
  29,
   OPC_CheckChild1Type, 58|128,1,
   OPC_SwitchType , 9, 58|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_D),
                    58|128,1, 2, 0, 1,
   9, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::TBL_ZZZ_D),
                    81|128,1, 2, 0, 1,
   0,
  0,
 117, TARGET_VAL(ISD::GET_ACTIVE_LANE_MASK),
  OPC_RecordChild0,
  OPC_Scope, 56,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_B),
                    35|128,1, MVT::i32, 2, 0, 1,
   10, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_H),
                    34|128,1, MVT::i32, 2, 0, 1,
   10, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_S),
                    33|128,1, MVT::i32, 2, 0, 1,
   10, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PWW_D),
                    32|128,1, MVT::i32, 2, 0, 1,
   0,
  56,
   OPC_CheckChild0TypeI64,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_B),
                    35|128,1, MVT::i32, 2, 0, 1,
   10, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_H),
                    34|128,1, MVT::i32, 2, 0, 1,
   10, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_S),
                    33|128,1, MVT::i32, 2, 0, 1,
   10, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo2None, TARGET_VAL(AArch64::WHILELO_PXX_D),
                    32|128,1, MVT::i32, 2, 0, 1,
   0,
  0,
 121|128,5, TARGET_VAL(AArch64ISD::REINTERPRET_CAST),
  OPC_RecordChild0,
  OPC_Scope, 75,
   OPC_CheckChild0Type, 35|128,1,
   OPC_SwitchType , 11, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    35|128,1, 2, 0, 1,
   11, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    34|128,1, 2, 0, 1,
   11, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    33|128,1, 2, 0, 1,
   11, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    32|128,1, 2, 0, 1,
   11, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    31|128,1, 2, 0, 1,
   0,
  75,
   OPC_CheckChild0Type, 34|128,1,
   OPC_SwitchType , 11, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    35|128,1, 2, 0, 1,
   11, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    34|128,1, 2, 0, 1,
   11, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    33|128,1, 2, 0, 1,
   11, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    32|128,1, 2, 0, 1,
   11, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    31|128,1, 2, 0, 1,
   0,
  75,
   OPC_CheckChild0Type, 33|128,1,
   OPC_SwitchType , 11, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    35|128,1, 2, 0, 1,
   11, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    34|128,1, 2, 0, 1,
   11, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    33|128,1, 2, 0, 1,
   11, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    32|128,1, 2, 0, 1,
   11, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    31|128,1, 2, 0, 1,
   0,
  75,
   OPC_CheckChild0Type, 32|128,1,
   OPC_SwitchType , 11, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    35|128,1, 2, 0, 1,
   11, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    34|128,1, 2, 0, 1,
   11, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    33|128,1, 2, 0, 1,
   11, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    32|128,1, 2, 0, 1,
   11, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    31|128,1, 2, 0, 1,
   0,
  75,
   OPC_CheckChild0Type, 31|128,1,
   OPC_SwitchType , 11, 35|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    35|128,1, 2, 0, 1,
   11, 34|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    34|128,1, 2, 0, 1,
   11, 33|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    33|128,1, 2, 0, 1,
   11, 32|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    32|128,1, 2, 0, 1,
   11, 31|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, AArch64::PPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    31|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 64|128,1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    64|128,1, 2, 0, 1,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    65|128,1, 2, 0, 1,
   12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    66|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 65|128,1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    64|128,1, 2, 0, 1,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    65|128,1, 2, 0, 1,
   12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    66|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 66|128,1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    64|128,1, 2, 0, 1,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    65|128,1, 2, 0, 1,
   12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    66|128,1, 2, 0, 1,
   0,
  35,
   OPC_CheckChild0Type, 76|128,1,
   OPC_SwitchType , 12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    76|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    77|128,1, 2, 0, 1,
   0,
  35,
   OPC_CheckChild0Type, 77|128,1,
   OPC_SwitchType , 12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    76|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    77|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 70|128,1,
   OPC_SwitchType , 12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    70|128,1, 2, 0, 1,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    71|128,1, 2, 0, 1,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    72|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 71|128,1,
   OPC_SwitchType , 12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    70|128,1, 2, 0, 1,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    71|128,1, 2, 0, 1,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    72|128,1, 2, 0, 1,
   0,
  50,
   OPC_CheckChild0Type, 72|128,1,
   OPC_SwitchType , 12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    70|128,1, 2, 0, 1,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    71|128,1, 2, 0, 1,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 92|128,0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    72|128,1, 2, 0, 1,
   0,
  0,
 57, TARGET_VAL(AArch64ISD::HADDS_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_B),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_H),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_S),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SHADD_ZPmZ_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 57, TARGET_VAL(AArch64ISD::HADDU_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_B),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_H),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_S),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UHADD_ZPmZ_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 57, TARGET_VAL(AArch64ISD::RHADDS_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_B),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_H),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_S),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SRHADD_ZPmZ_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 57, TARGET_VAL(AArch64ISD::RHADDU_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_B),
                   42|128,1, 3, 0, 1, 2,
  10, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_H),
                   48|128,1, 3, 0, 1, 2,
  10, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_S),
                   53|128,1, 3, 0, 1, 2,
  10, 58|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::URHADD_ZPmZ_D),
                   58|128,1, 3, 0, 1, 2,
  0,
 60, TARGET_VAL(AArch64ISD::SADDWB),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 48|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWB_ZZZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWB_ZZZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWB_ZZZ_D),
                   58|128,1, 2, 0, 1,
  0,
 60, TARGET_VAL(AArch64ISD::SADDWT),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 48|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SADDWT_ZZZ_D),
                   58|128,1, 2, 0, 1,
  0,
 60, TARGET_VAL(AArch64ISD::UADDWB),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 48|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWB_ZZZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWB_ZZZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWB_ZZZ_D),
                   58|128,1, 2, 0, 1,
  0,
 60, TARGET_VAL(AArch64ISD::UADDWT),
  OPC_RecordChild0,
  OPC_SwitchType , 16, 48|128,1,
   OPC_CheckChild0Type, 48|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 42|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_H),
                   48|128,1, 2, 0, 1,
  16, 53|128,1,
   OPC_CheckChild0Type, 53|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 48|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_S),
                   53|128,1, 2, 0, 1,
  16, 58|128,1,
   OPC_CheckChild0Type, 58|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 53|128,1,
   OPC_CheckPatternPredicate2,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UADDWT_ZZZ_D),
                   58|128,1, 2, 0, 1,
  0,
 123, TARGET_VAL(AArch64ISD::GLDNT1S_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 48,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1SB_ZZR_S),
                    53|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1SH_ZZR_S),
                    53|128,1, 3, 1, 2, 3,
   0,
  68,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1SB_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1SH_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1SW_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 35|128,1, TARGET_VAL(AArch64ISD::GLDNT1_MERGE_ZERO),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 68,
   OPC_CheckChild2Type, 53|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 40|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1B_ZZR_S),
                    53|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 47|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1H_ZZR_S),
                    53|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 53|128,1,
    OPC_MoveParent,
    OPC_CheckType, 53|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1W_ZZR_S),
                    53|128,1, 3, 1, 2, 3,
   0,
  88,
   OPC_CheckChild2Type, 58|128,1,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI64,
   OPC_MoveChild4,
   OPC_Scope, 19,
    OPC_CheckValueType, 39|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1B_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 46|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1H_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 52|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1W_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   19,
    OPC_CheckValueType, 58|128,1,
    OPC_MoveParent,
    OPC_CheckType, 58|128,1,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(AArch64::LDNT1D_ZZR_D),
                    58|128,1, 3, 1, 2, 3,
   0,
  0,
 12|128,1, TARGET_VAL(AArch64ISD::SADDLV),
  OPC_RecordChild0,
  OPC_SwitchType , 86, MVT::v4i32,
   OPC_Scope, 20,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i8v),
                    MVT::i16, 1, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
   20,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i16v),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
   20,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv16i8v),
                    MVT::i16, 1, 0,
    OPC_EmitIntegerI32, AArch64::hsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
   20,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv8i16v),
                    MVT::i32, 1, 0,
    OPC_EmitIntegerI32, AArch64::ssub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v4i32, 3, 1, 2, 3,
   0,
  47, MVT::v2i64,
   OPC_Scope, 20,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_EmitIntegerI64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLVv4i32v),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                    MVT::v2i64, 3, 1, 2, 3,
   23,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i64, 0,
    OPC_EmitNode1None, TARGET_VAL(AArch64::SADDLPv2i32_v1i64),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, AArch64::dsub,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v2i64, 3, 1, 2, 3,
   0,
  0,
 62|128,18, TARGET_VAL(AArch64ISD::FMA_PRED),
  OPC_RecordChild0,
  OPC_Scope, 123|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 8|128,1, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 96|128,10,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild1Type, 66|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_H),
                     66|128,1, 4, 4, 1, 2, 3,
    28,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_S),
                     77|128,1, 4, 4, 1, 2, 3,
    29,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                     81|128,1, 4, 4, 1, 2, 3,
    29,
     OPC_CheckChild1Type, 72|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZZZI),
                     72|128,1, 4, 4, 1, 2, 3,
    0,
   44|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 96|128,10,
    OPC_RecordChild1,
    OPC_Scope, 40,
     OPC_CheckChild1Type, 66|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_H),
                     66|128,1, 4, 4, 3, 1, 2,
    40,
     OPC_CheckChild1Type, 77|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate6,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_S),
                     77|128,1, 4, 4, 3, 1, 2,
    41,
     OPC_CheckChild1Type, 81|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                     81|128,1, 4, 4, 3, 1, 2,
    41,
     OPC_CheckChild1Type, 72|128,1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
     OPC_CheckChild0Same, 0,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZZZI),
                     72|128,1, 4, 4, 3, 1, 2,
    0,
   57, TARGET_VAL(AArch64ISD::FP_EXTEND_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 71|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FP_EXTEND_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 71|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate, 70,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALB_ZZZ),
                     77|128,1, 3, 3, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLALB_ZZZ),
                     77|128,1, 3, 3, 2, 1,
    0,
   0,
  37,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_H),
                   66|128,1, 4, 4, 1, 2, 3,
  37,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_H),
                   66|128,1, 4, 4, 3, 1, 2,
  37,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_S),
                   77|128,1, 4, 4, 1, 2, 3,
  37,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_S),
                   77|128,1, 4, 4, 3, 1, 2,
  38,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                   81|128,1, 4, 4, 1, 2, 3,
  54|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 34, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 96|128,10,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                    81|128,1, 4, 4, 3, 1, 2,
   63, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_SwitchOpcode , 23, TARGET_VAL(AArch64ISD::TRN1),
     OPC_RecordChild0,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                     81|128,1, 4, 3, 1, 2, 4,
    23, TARGET_VAL(AArch64ISD::TRN2),
     OPC_RecordChild0,
     OPC_CheckChild1Same, 2,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                     81|128,1, 4, 3, 1, 2, 4,
    0,
   35, TARGET_VAL(AArch64ISD::TRN1),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                    81|128,1, 4, 3, 2, 1, 4,
   35, TARGET_VAL(AArch64ISD::TRN2),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZZZI_D),
                    81|128,1, 4, 3, 2, 1, 4,
   0,
  38,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 72|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZZZI),
                   72|128,1, 4, 4, 1, 2, 3,
  80,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 34, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 96|128,10,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 72|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZZZI),
                    72|128,1, 4, 4, 3, 1, 2,
   37, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                    66|128,1, 4, 0, 3, 1, 2,
   0,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                   66|128,1, 4, 0, 3, 1, 2,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                   65|128,1, 4, 0, 3, 1, 2,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                   65|128,1, 4, 0, 3, 1, 2,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                   64|128,1, 4, 0, 3, 1, 2,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                   64|128,1, 4, 0, 3, 1, 2,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                   77|128,1, 4, 0, 3, 1, 2,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                   77|128,1, 4, 0, 3, 1, 2,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                   76|128,1, 4, 0, 3, 1, 2,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                   76|128,1, 4, 0, 3, 1, 2,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_D_UNDEF),
                   81|128,1, 4, 0, 3, 1, 2,
  40,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_D_UNDEF),
                   81|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   66|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   66|128,1, 4, 0, 3, 2, 1,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   65|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   65|128,1, 4, 0, 3, 2, 1,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   64|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_H_UNDEF),
                   64|128,1, 4, 0, 3, 2, 1,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                   77|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                   77|128,1, 4, 0, 3, 2, 1,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                   76|128,1, 4, 0, 3, 1, 2,
  29,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_S_UNDEF),
                   76|128,1, 4, 0, 3, 2, 1,
  29,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_D_UNDEF),
                   81|128,1, 4, 0, 3, 1, 2,
  33|128,1,
   OPC_RecordChild1,
   OPC_Scope, 28,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLS_ZPZZZ_D_UNDEF),
                    81|128,1, 4, 0, 3, 2, 1,
   100,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 11, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                     66|128,1, 4, 0, 3, 1, 2,
    11, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                     65|128,1, 4, 0, 3, 1, 2,
    11, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_H_UNDEF),
                     64|128,1, 4, 0, 3, 1, 2,
    11, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_S_UNDEF),
                     77|128,1, 4, 0, 3, 1, 2,
    11, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_S_UNDEF),
                     76|128,1, 4, 0, 3, 1, 2,
    11, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLS_ZPZZZ_D_UNDEF),
                     81|128,1, 4, 0, 3, 1, 2,
    0,
   27,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN1),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 2,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                    81|128,1, 4, 3, 1, 2, 4,
   0,
  28,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN1),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 1,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                   81|128,1, 4, 3, 2, 1, 4,
  28,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN2),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 2,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                   81|128,1, 4, 3, 1, 2, 4,
  59,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 24, TARGET_VAL(AArch64ISD::TRN2),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZZZI_D),
                    81|128,1, 4, 3, 2, 1, 4,
   26, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_CheckType, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                    72|128,1, 4, 0, 3, 1, 2,
   0,
  30,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                   72|128,1, 4, 0, 3, 2, 1,
  30,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 71|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                   71|128,1, 4, 0, 3, 1, 2,
  30,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckType, 71|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                   71|128,1, 4, 0, 3, 2, 1,
  30,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckType, 70|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                   70|128,1, 4, 0, 3, 1, 2,
  38|128,2,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckType, 70|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLS_ZPZZZ_UNDEF),
                    70|128,1, 4, 0, 3, 2, 1,
   3|128,2,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 25, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      66|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      66|128,1, 4, 0, 3, 2, 1,
     0,
    25, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      65|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      65|128,1, 4, 0, 3, 2, 1,
     0,
    25, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      64|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_H_UNDEF),
                      64|128,1, 4, 0, 3, 2, 1,
     0,
    25, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_S_UNDEF),
                      77|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_S_UNDEF),
                      77|128,1, 4, 0, 3, 2, 1,
     0,
    25, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_S_UNDEF),
                      76|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_S_UNDEF),
                      76|128,1, 4, 0, 3, 2, 1,
     0,
    25, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_D_UNDEF),
                      81|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMLA_ZPZZZ_D_UNDEF),
                      81|128,1, 4, 0, 3, 2, 1,
     0,
    26, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      72|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      72|128,1, 4, 0, 3, 2, 1,
     0,
    26, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      71|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      71|128,1, 4, 0, 3, 2, 1,
     0,
    26, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      70|128,1, 4, 0, 3, 1, 2,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMLA_ZPZZZ_UNDEF),
                      70|128,1, 4, 0, 3, 2, 1,
     0,
    0,
   0,
  0,
 2|128,7, TARGET_VAL(AArch64ISD::FMUL_PRED),
  OPC_RecordChild0,
  OPC_Scope, 35,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_H),
                   66|128,1, 3, 1, 2, 3,
  35,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_H),
                   66|128,1, 3, 3, 1, 2,
  35,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_S),
                   77|128,1, 3, 1, 2, 3,
  35,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate6,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_S),
                   77|128,1, 3, 3, 1, 2,
  36,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                   81|128,1, 3, 1, 2, 3,
  36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 81|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                   81|128,1, 3, 3, 1, 2,
  36,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 72|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZI),
                   72|128,1, 3, 1, 2, 3,
  36,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 96|128,10,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 72|128,1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 72|128,1,
   OPC_CheckPatternPredicate, 21,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZI),
                   72|128,1, 3, 3, 1, 2,
  34|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 2|128,2, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 122, MVT::f16,
     OPC_Scope, 19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     0,
    82, MVT::f32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     0,
    42, MVT::f64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 35,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     0,
    0,
   21, TARGET_VAL(AArch64ISD::TRN1),
    OPC_RecordChild0,
    OPC_CheckChild1Same, 2,
    OPC_MoveParent,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                    81|128,1, 3, 1, 2, 3,
   0,
  26,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN1),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 1,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                   81|128,1, 3, 2, 1, 3,
  26,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN2),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 2,
   OPC_MoveParent,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                   81|128,1, 3, 1, 2, 3,
  26,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::TRN2),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 1,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat0, /*#*/0,
   OPC_EmitIntegerI32, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZI_D),
                   81|128,1, 3, 2, 1, 3,
  100|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 36, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 22,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_H),
                      66|128,1, 2, 1, 2,
     8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_H),
                      66|128,1, 2, 2, 1,
     0,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    0,
   36, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 22,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_S),
                      77|128,1, 2, 1, 2,
     8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_S),
                      77|128,1, 2, 2, 1,
     0,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   36, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 22,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_D),
                      81|128,1, 2, 1, 2,
     8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZZZ_D),
                      81|128,1, 2, 2, 1,
     0,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   37, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_Scope, 22,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_Scope, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZ),
                      72|128,1, 2, 1, 2,
     8,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZZZ),
                      72|128,1, 2, 2, 1,
     0,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    0,
   10, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   10, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   10, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMUL_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 71|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPZZ_UNDEF),
                    71|128,1, 3, 0, 1, 2,
   11, 70|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMUL_ZPZZ_UNDEF),
                    70|128,1, 3, 0, 1, 2,
   0,
  0,
 105|128,5, TARGET_VAL(AArch64ISD::UINT_TO_FP_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 65|128,2,
   OPC_RecordChild0,
   OPC_Scope, 124|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 121,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 52,
      OPC_CheckChild0Integer, 127|128,127|128,3,
      OPC_Scope, 22,
       OPC_CheckChild0TypeI64,
       OPC_MoveParent,
       OPC_CheckType, 58|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                       64|128,1, 3, 3, 0, 2,
      22,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckType, 53|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                       65|128,1, 3, 3, 0, 2,
      0,
     60,
      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 12, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH_UNDEF),
                       64|128,1, 3, 3, 0, 2,
      12, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS_UNDEF),
                       76|128,1, 3, 3, 0, 2,
      12, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoD_UNDEF),
                       81|128,1, 3, 3, 0, 2,
      0,
     0,
    123,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 54,
      OPC_CheckChild0Integer, 127|128,127|128,3,
      OPC_Scope, 23,
       OPC_CheckChild0TypeI64,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 58|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                       64|128,1, 3, 3, 0, 2,
      23,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, 53|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 65|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                       65|128,1, 3, 3, 0, 2,
      0,
     61,
      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,15,
      OPC_CheckChild0TypeI64,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, 58|128,1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_SwitchType , 12, 64|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH_UNDEF),
                       64|128,1, 3, 3, 0, 2,
      12, 76|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS_UNDEF),
                       76|128,1, 3, 3, 0, 2,
      12, 81|128,1,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoD_UNDEF),
                       81|128,1, 3, 3, 0, 2,
      0,
     0,
    0,
   63,
    OPC_RecordChild1,
    OPC_SwitchType , 17, 66|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_HtoH),
                     66|128,1, 2, 0, 2,
    17, 77|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoS),
                     77|128,1, 2, 0, 2,
    17, 81|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoD),
                     81|128,1, 2, 0, 2,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 66|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_HtoH),
                    66|128,1, 2, 0, 1,
   15, 77|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_StoS),
                    77|128,1, 2, 0, 1,
   15, 81|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPzZ_DtoD),
                    81|128,1, 2, 0, 1,
   0,
  113,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 36,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS_UNDEF),
                     77|128,1, 3, 3, 0, 2,
    12, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH_UNDEF),
                     65|128,1, 3, 3, 0, 2,
    0,
   19,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   51,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoS_UNDEF),
                     76|128,1, 3, 3, 0, 2,
    12, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoH_UNDEF),
                     64|128,1, 3, 3, 0, 2,
    12, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoD_UNDEF),
                     81|128,1, 3, 3, 0, 2,
    0,
   0,
  117|128,1,
   OPC_RecordChild1,
   OPC_Scope, 81,
    OPC_CheckChild1Type, 53|128,1,
    OPC_Scope, 45,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 16, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS_UNDEF),
                      77|128,1, 3, 2, 0, 1,
     16, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH_UNDEF),
                      65|128,1, 3, 2, 0, 1,
     0,
    29,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS),
                      77|128,1, 3, 2, 0, 1,
     10, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH),
                      65|128,1, 3, 2, 0, 1,
     0,
    0,
   45,
    OPC_CheckChild1Type, 48|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH),
                     66|128,1, 3, 2, 0, 1,
    0,
   113,
    OPC_CheckChild1Type, 58|128,1,
    OPC_Scope, 64,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 16, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoS_UNDEF),
                      76|128,1, 3, 2, 0, 1,
     16, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoH_UNDEF),
                      64|128,1, 3, 2, 0, 1,
     16, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoD_UNDEF),
                      81|128,1, 3, 2, 0, 1,
     0,
    42,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoS),
                      76|128,1, 3, 2, 0, 1,
     10, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoH),
                      64|128,1, 3, 2, 0, 1,
     10, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoD),
                      81|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  0,
 73|128,5, TARGET_VAL(AArch64ISD::FADDA_PRED),
  OPC_RecordChild0,
  OPC_Scope, 95|128,2,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_Scope, 114,
    OPC_CheckChild1Type, 64|128,1,
    OPC_Scope, 90,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 120,
     OPC_SwitchType , 21, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      64|128,1, 3, 2, 1, 3,
     21, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      64|128,1, 3, 2, 1, 3,
     21, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      64|128,1, 3, 2, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 64|128,1,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                     64|128,1, 3, 0, 1, 2,
    0,
   114,
    OPC_CheckChild1Type, 76|128,1,
    OPC_Scope, 90,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 120,
     OPC_SwitchType , 21, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      76|128,1, 3, 2, 1, 3,
     21, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      76|128,1, 3, 2, 1, 3,
     21, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      76|128,1, 3, 2, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 76|128,1,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                     76|128,1, 3, 0, 1, 2,
    0,
   114,
    OPC_CheckChild1Type, 81|128,1,
    OPC_Scope, 90,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 32|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 120,
     OPC_SwitchType , 21, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_D),
                      81|128,1, 3, 2, 1, 3,
     21, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_D),
                      81|128,1, 3, 2, 1, 3,
     21, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_D),
                      81|128,1, 3, 2, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 81|128,1,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_D),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  108|128,1,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_Scope, 114,
    OPC_CheckChild1Type, 65|128,1,
    OPC_Scope, 90,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 120,
     OPC_SwitchType , 21, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      65|128,1, 3, 2, 1, 3,
     21, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      65|128,1, 3, 2, 1, 3,
     21, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                      65|128,1, 3, 2, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 65|128,1,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                     65|128,1, 3, 0, 1, 2,
    0,
   114,
    OPC_CheckChild1Type, 77|128,1,
    OPC_Scope, 90,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 33|128,1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 120,
     OPC_SwitchType , 21, MVT::f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      77|128,1, 3, 2, 1, 3,
     21, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      77|128,1, 3, 2, 1, 3,
     21, MVT::f64,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                      77|128,1, 3, 2, 1, 3,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 77|128,1,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_S),
                     77|128,1, 3, 0, 1, 2,
    0,
   0,
  118,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_Scope, 90,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 34|128,1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 120,
    OPC_SwitchType , 21, MVT::f16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                     66|128,1, 3, 2, 1, 3,
    21, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                     66|128,1, 3, 2, 1, 3,
    21, MVT::f64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                     66|128,1, 3, 2, 1, 3,
    0,
   17,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 66|128,1,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDA_VPZ_H),
                    66|128,1, 3, 0, 1, 2,
   0,
  0,
 126|128,3, TARGET_VAL(AArch64ISD::FMAXNM_PRED),
  OPC_RecordChild0,
  OPC_Scope, 113,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate, 152,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   11, 65|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   11, 64|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   11, 77|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                    77|128,1, 3, 0, 1, 2,
   11, 76|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 81|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_D_UNDEF),
                    81|128,1, 3, 0, 1, 2,
   0,
  7|128,3,
   OPC_RecordChild1,
   OPC_Scope, 6|128,2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 122, MVT::f16,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     0,
    82, MVT::f32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     0,
    42, MVT::f64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     0,
    0,
   123,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNM_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    11, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAXNM_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    11, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAXNM_ZPZZ_UNDEF),
                     71|128,1, 3, 0, 1, 2,
    11, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAXNM_ZPZZ_UNDEF),
                     70|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 76|128,4, TARGET_VAL(AArch64ISD::FMINNM_PRED),
  OPC_RecordChild0,
  OPC_Scope, 62|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 109, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate, 152,
    OPC_SwitchType , 11, 66|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    11, 65|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    11, 64|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    11, 77|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    11, 76|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    11, 81|128,1,
     OPC_CheckPatternPredicate, 29,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   72, TARGET_VAL(AArch64ISD::FMAXNM_PRED),
    OPC_CheckChild0Same, 0,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 13, 66|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_H),
                     66|128,1, 3, 1, 2, 3,
    13, 77|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_S),
                     77|128,1, 3, 1, 2, 3,
    13, 81|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCLAMP_ZZZ_D),
                     81|128,1, 3, 1, 2, 3,
    13, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCLAMP_ZZZ),
                     72|128,1, 3, 1, 2, 3,
    0,
   0,
  7|128,3,
   OPC_RecordChild1,
   OPC_Scope, 6|128,2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 122, MVT::f16,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     0,
    82, MVT::f32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     0,
    42, MVT::f64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     0,
    0,
   123,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNM_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    11, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMINNM_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    11, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMINNM_ZPZZ_UNDEF),
                     71|128,1, 3, 0, 1, 2,
    11, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMINNM_ZPZZ_UNDEF),
                     70|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 124|128,3, TARGET_VAL(AArch64ISD::FMAX_PRED),
  OPC_RecordChild0,
  OPC_Scope, 111,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   11, 65|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   11, 64|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   11, 77|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                    77|128,1, 3, 0, 1, 2,
   11, 76|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 81|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMAX_ZPZZ_D_UNDEF),
                    81|128,1, 3, 0, 1, 2,
   0,
  7|128,3,
   OPC_RecordChild1,
   OPC_Scope, 6|128,2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 122, MVT::f16,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     0,
    82, MVT::f32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     0,
    42, MVT::f64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     0,
    0,
   123,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAX_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    11, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAX_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    11, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAX_ZPZZ_UNDEF),
                     71|128,1, 3, 0, 1, 2,
    11, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMAX_ZPZZ_UNDEF),
                     70|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 124|128,3, TARGET_VAL(AArch64ISD::FMIN_PRED),
  OPC_RecordChild0,
  OPC_Scope, 111,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   11, 65|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   11, 64|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   11, 77|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                    77|128,1, 3, 0, 1, 2,
   11, 76|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 81|128,1,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FAMIN_ZPZZ_D_UNDEF),
                    81|128,1, 3, 0, 1, 2,
   0,
  7|128,3,
   OPC_RecordChild1,
   OPC_Scope, 6|128,2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_SwitchType , 122, MVT::f16,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 66|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      66|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      65|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_H_UNDEF),
                      64|128,1, 3, 0, 1, 2,
     0,
    82, MVT::f32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_UNDEF),
                      77|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_S_UNDEF),
                      76|128,1, 3, 0, 1, 2,
     0,
    42, MVT::f64,
     OPC_Scope, 19,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     19,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZI_D_UNDEF),
                      81|128,1, 3, 0, 1, 2,
     0,
    0,
   123,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMIN_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    11, 72|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMIN_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    11, 71|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMIN_ZPZZ_UNDEF),
                     71|128,1, 3, 0, 1, 2,
    11, 70|128,1,
     OPC_CheckPatternPredicate, 21,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFMIN_ZPZZ_UNDEF),
                     70|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 65|128,3, TARGET_VAL(AArch64ISD::FADD_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 6|128,2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_SwitchType , 122, MVT::f16,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    0,
   82, MVT::f32,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    0,
   42, MVT::f64,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  51|128,1,
   OPC_RecordChild2,
   OPC_SwitchType , 24, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_H),
                     66|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    0,
   24, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_S),
                     77|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   24, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZZZ_D),
                     81|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   25, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZZZ),
                     72|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    0,
   10, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   10, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   10, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADD_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 71|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPZZ_UNDEF),
                    71|128,1, 3, 0, 1, 2,
   11, 70|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFADD_ZPZZ_UNDEF),
                    70|128,1, 3, 0, 1, 2,
   0,
  0,
 87|128,5, TARGET_VAL(AArch64ISD::FSUB_PRED),
  OPC_RecordChild0,
  OPC_Scope, 7|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_SwitchType , 122, MVT::f16,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    0,
   82, MVT::f32,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    0,
   42, MVT::f64,
    OPC_Scope, 19,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    19,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  19|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_SwitchType , 0|128,1, MVT::f16,
    OPC_Scope, 20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     65|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_H_UNDEF),
                     64|128,1, 3, 0, 1, 2,
    0,
   86, MVT::f32,
    OPC_Scope, 20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_S_UNDEF),
                     76|128,1, 3, 0, 1, 2,
    0,
   44, MVT::f64,
    OPC_Scope, 20,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    20,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUBR_ZPZI_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   0,
  52|128,1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 24, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_H),
                     66|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_H_UNDEF),
                     66|128,1, 3, 0, 1, 2,
    0,
   24, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_S),
                     77|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_S_UNDEF),
                     77|128,1, 3, 0, 1, 2,
    0,
   24, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZZZ_D),
                     81|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_D_UNDEF),
                     81|128,1, 3, 0, 1, 2,
    0,
   25, 72|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_Scope, 10,
     OPC_CheckComplexPat0, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZZZ),
                     72|128,1, 2, 1, 2,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPZZ_UNDEF),
                     72|128,1, 3, 0, 1, 2,
    0,
   10, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   10, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   10, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSUB_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   11, 71|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPZZ_UNDEF),
                    71|128,1, 3, 0, 1, 2,
   11, 70|128,1,
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFSUB_ZPZZ_UNDEF),
                    70|128,1, 3, 0, 1, 2,
   0,
  0,
 105|128,5, TARGET_VAL(AArch64ISD::FNEG_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 102,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FMA_PRED),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_CheckPredicate, 166,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                    66|128,1, 4, 0, 3, 1, 2,
   11, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                    65|128,1, 4, 0, 3, 1, 2,
   11, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_H_UNDEF),
                    64|128,1, 4, 0, 3, 1, 2,
   11, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                    77|128,1, 4, 0, 3, 1, 2,
   11, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_S_UNDEF),
                    76|128,1, 4, 0, 3, 1, 2,
   11, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNMLA_ZPZZZ_D_UNDEF),
                    81|128,1, 4, 0, 3, 1, 2,
   0,
  101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  12|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    72|128,1, 3, 3, 0, 2,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    71|128,1, 3, 3, 0, 2,
   12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                    70|128,1, 3, 3, 0, 2,
   0,
  48|128,2,
   OPC_RecordChild1,
   OPC_Scope, 50|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    16, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     72|128,1, 3, 2, 0, 1,
    16, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     71|128,1, 3, 2, 0, 1,
    16, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H_UNDEF),
                     70|128,1, 3, 2, 0, 1,
    0,
   120,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    10, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     72|128,1, 3, 2, 0, 1,
    10, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     71|128,1, 3, 2, 0, 1,
    10, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FNEG_ZPmZ_H),
                     70|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 117|128,2, TARGET_VAL(AArch64ISD::FP_ROUND_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 127,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, 33|128,1,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 121,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 65|128,1,
    OPC_CheckType, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   88,
    OPC_CheckChild0Type, 32|128,1,
    OPC_RecordChild1,
    OPC_Scope, 50,
     OPC_CheckChild1Type, 81|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 121,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 15, 64|128,1,
      OPC_CheckChild3Type, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoH_UNDEF),
                      64|128,1, 3, 3, 0, 2,
     15, 76|128,1,
      OPC_CheckChild3Type, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoS_UNDEF),
                      76|128,1, 3, 3, 0, 2,
     0,
    30,
     OPC_CheckChild1Type, 76|128,1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 121,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH_UNDEF),
                     64|128,1, 3, 3, 0, 2,
    0,
   0,
  82,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 77|128,1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 121,
   OPC_CheckTypeI64,
   OPC_Scope, 27,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_CheckType, 65|128,1,
    OPC_MoveParent,
    OPC_CheckType, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    42|128,1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH_UNDEF),
                    65|128,1, 3, 2, 0, 1,
   37,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 13, 65|128,1,
     OPC_CheckChild3Type, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH),
                     65|128,1, 3, 2, 0, 1,
    14, 71|128,1,
     OPC_CheckChild3Type, 71|128,1,
     OPC_CheckPatternPredicate, 70,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_ZPmZ),
                     71|128,1, 3, 2, 0, 1,
    0,
   0,
  29|128,1,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_Scope, 102,
    OPC_CheckChild1Type, 81|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 121,
    OPC_CheckTypeI64,
    OPC_Scope, 52,
     OPC_MoveSibling3,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_SwitchType , 20, 64|128,1,
      OPC_MoveParent,
      OPC_CheckType, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoH_UNDEF),
                      64|128,1, 3, 2, 0, 1,
     20, 76|128,1,
      OPC_MoveParent,
      OPC_CheckType, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoS_UNDEF),
                      76|128,1, 3, 2, 0, 1,
     0,
    36,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 13, 64|128,1,
      OPC_CheckChild3Type, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoH),
                      64|128,1, 3, 2, 0, 1,
     13, 76|128,1,
      OPC_CheckChild3Type, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoS),
                      76|128,1, 3, 2, 0, 1,
     0,
    0,
   47,
    OPC_CheckChild1Type, 76|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 121,
    OPC_CheckTypeI64,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 13, 64|128,1,
     OPC_CheckChild3Type, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH),
                     64|128,1, 3, 2, 0, 1,
    14, 70|128,1,
     OPC_CheckChild3Type, 70|128,1,
     OPC_CheckPatternPredicate, 70,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::BFCVT_ZPmZ),
                     70|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 95|128,4, TARGET_VAL(AArch64ISD::SINT_TO_FP_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 55|128,1,
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_RecordChild1,
    OPC_SwitchType , 17, 66|128,1,
     OPC_CheckChild1Type, 48|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_HtoH),
                     66|128,1, 2, 0, 2,
    17, 77|128,1,
     OPC_CheckChild1Type, 53|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoS),
                     77|128,1, 2, 0, 2,
    17, 81|128,1,
     OPC_CheckChild1Type, 58|128,1,
     OPC_RecordChild2,
     OPC_CheckPatternPredicate5,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoD),
                     81|128,1, 2, 0, 2,
    0,
   115,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 24,
     OPC_CheckValueType, 46|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH_UNDEF),
                     64|128,1, 3, 3, 0, 2,
    24,
     OPC_CheckValueType, 47|128,1,
     OPC_MoveParent,
     OPC_CheckType, 53|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH_UNDEF),
                     65|128,1, 3, 3, 0, 2,
    56,
     OPC_CheckValueType, 52|128,1,
     OPC_MoveParent,
     OPC_CheckType, 58|128,1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_SwitchType , 12, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH_UNDEF),
                      64|128,1, 3, 3, 0, 2,
     12, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoS_UNDEF),
                      76|128,1, 3, 3, 0, 2,
     12, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoD_UNDEF),
                      81|128,1, 3, 3, 0, 2,
     0,
    0,
   0,
  57,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 66|128,1,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_HtoH),
                    66|128,1, 2, 0, 1,
   15, 77|128,1,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_StoS),
                    77|128,1, 2, 0, 1,
   15, 81|128,1,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPzZ_DtoD),
                    81|128,1, 2, 0, 1,
   0,
  113,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 19,
    OPC_CheckChild1Type, 48|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   36,
    OPC_CheckChild1Type, 53|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoS_UNDEF),
                     77|128,1, 3, 3, 0, 2,
    12, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH_UNDEF),
                     65|128,1, 3, 3, 0, 2,
    0,
   51,
    OPC_CheckChild1Type, 58|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoS_UNDEF),
                     76|128,1, 3, 3, 0, 2,
    12, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoH_UNDEF),
                     64|128,1, 3, 3, 0, 2,
    12, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoD_UNDEF),
                     81|128,1, 3, 3, 0, 2,
    0,
   0,
  117|128,1,
   OPC_RecordChild1,
   OPC_Scope, 45,
    OPC_CheckChild1Type, 48|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH),
                     66|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_CheckChild1Type, 53|128,1,
    OPC_Scope, 45,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 16, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoS_UNDEF),
                      77|128,1, 3, 2, 0, 1,
     16, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH_UNDEF),
                      65|128,1, 3, 2, 0, 1,
     0,
    29,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 77|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoS),
                      77|128,1, 3, 2, 0, 1,
     10, 65|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH),
                      65|128,1, 3, 2, 0, 1,
     0,
    0,
   113,
    OPC_CheckChild1Type, 58|128,1,
    OPC_Scope, 64,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_SwitchType , 16, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoS_UNDEF),
                      76|128,1, 3, 2, 0, 1,
     16, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoH_UNDEF),
                      64|128,1, 3, 2, 0, 1,
     16, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      42|128,1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoD_UNDEF),
                      81|128,1, 3, 2, 0, 1,
     0,
    42,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoS),
                      76|128,1, 3, 2, 0, 1,
     10, 64|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoH),
                      64|128,1, 3, 2, 0, 1,
     10, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoD),
                      81|128,1, 3, 2, 0, 1,
     0,
    0,
   0,
  0,
 11|128,2, TARGET_VAL(AArch64ISD::FTRUNC32_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  50,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  111,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   42,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32Z_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 11|128,2, TARGET_VAL(AArch64ISD::FRINT32_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  50,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  111,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   42,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT32X_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 11|128,2, TARGET_VAL(AArch64ISD::FTRUNC64_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  50,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  111,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   42,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64Z_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 11|128,2, TARGET_VAL(AArch64ISD::FRINT64_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  50,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  111,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   42,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 77|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate5,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINT64X_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FROUNDEVEN_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTN_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FCEIL_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTP_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FFLOOR_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTM_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FTRUNC_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTZ_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FROUND_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTA_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FRINT_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTX_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FNEARBYINT_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRINTI_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FRECPX_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FRECPX_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 115|128,3, TARGET_VAL(AArch64ISD::FSQRT_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_D),
                    81|128,1, 2, 0, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPZz_D),
                    81|128,1, 2, 0, 1,
   0,
  95,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  79|128,1,
   OPC_RecordChild1,
   OPC_Scope, 121,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    0,
   81,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FSQRT_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 96|128,5, TARGET_VAL(AArch64ISD::FABS_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 13, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    66|128,1, 2, 0, 2,
   13, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    65|128,1, 2, 0, 2,
   13, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    64|128,1, 2, 0, 2,
   13, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_S),
                    77|128,1, 2, 0, 2,
   13, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_S),
                    76|128,1, 2, 0, 2,
   13, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_CheckComplexPat4, /*#*/3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_D),
                    81|128,1, 2, 0, 2,
   0,
  93,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(AArch64ISD::FSUB_PRED),
   OPC_CheckChild0Same, 0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
   OPC_MoveParent,
   OPC_SwitchType , 10, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                    66|128,1, 3, 0, 1, 2,
   10, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                    65|128,1, 3, 0, 1, 2,
   10, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_H_UNDEF),
                    64|128,1, 3, 0, 1, 2,
   10, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_S_UNDEF),
                    77|128,1, 3, 0, 1, 2,
   10, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_S_UNDEF),
                    76|128,1, 3, 0, 1, 2,
   10, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABD_ZPZZ_D_UNDEF),
                    81|128,1, 3, 0, 1, 2,
   0,
  88,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 11, 66|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    66|128,1, 2, 0, 1,
   11, 65|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    65|128,1, 2, 0, 1,
   11, 64|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_H),
                    64|128,1, 2, 0, 1,
   11, 77|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_S),
                    77|128,1, 2, 0, 1,
   11, 76|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_S),
                    76|128,1, 2, 0, 1,
   11, 81|128,1,
    OPC_CheckPatternPredicate5,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPzZ_D),
                    81|128,1, 2, 0, 1,
   0,
  12|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 12, 66|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    66|128,1, 3, 3, 0, 2,
   12, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    65|128,1, 3, 3, 0, 2,
   12, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    64|128,1, 3, 3, 0, 2,
   12, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   12, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S_UNDEF),
                    76|128,1, 3, 3, 0, 2,
   12, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_D_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   12, 72|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    72|128,1, 3, 3, 0, 2,
   12, 71|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    71|128,1, 3, 3, 0, 2,
   12, 70|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                    70|128,1, 3, 3, 0, 2,
   0,
  48|128,2,
   OPC_RecordChild1,
   OPC_Scope, 50|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_SwitchType , 16, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     66|128,1, 3, 2, 0, 1,
    16, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     65|128,1, 3, 2, 0, 1,
    16, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     64|128,1, 3, 2, 0, 1,
    16, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    16, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S_UNDEF),
                     76|128,1, 3, 2, 0, 1,
    16, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_D_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    16, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     72|128,1, 3, 2, 0, 1,
    16, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     71|128,1, 3, 2, 0, 1,
    16, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H_UNDEF),
                     70|128,1, 3, 2, 0, 1,
    0,
   120,
    OPC_RecordChild2,
    OPC_SwitchType , 10, 66|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     66|128,1, 3, 2, 0, 1,
    10, 65|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     65|128,1, 3, 2, 0, 1,
    10, 64|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     64|128,1, 3, 2, 0, 1,
    10, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S),
                     77|128,1, 3, 2, 0, 1,
    10, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_S),
                     76|128,1, 3, 2, 0, 1,
    10, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_D),
                     81|128,1, 3, 2, 0, 1,
    10, 72|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     72|128,1, 3, 2, 0, 1,
    10, 71|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     71|128,1, 3, 2, 0, 1,
    10, 70|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FABS_ZPmZ_H),
                     70|128,1, 3, 2, 0, 1,
    0,
   0,
  0,
 99|128,2, TARGET_VAL(AArch64ISD::FP_EXTEND_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_Scope, 55,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckChild1Type, 71|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_S),
                    77|128,1, 2, 1, 2,
   25,
    OPC_CheckChild1Type, 70|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_EmitIntegerI32, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::LSL_ZZI_S),
                    76|128,1, 2, 1, 2,
   0,
  81,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 19,
    OPC_CheckChild1Type, 65|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS_UNDEF),
                    77|128,1, 3, 3, 0, 2,
   36,
    OPC_CheckChild1Type, 64|128,1,
    OPC_RecordChild2,
    OPC_SwitchType , 12, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoD_UNDEF),
                     81|128,1, 3, 3, 0, 2,
    12, 76|128,1,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS_UNDEF),
                     76|128,1, 3, 3, 0, 2,
    0,
   19,
    OPC_CheckChild1Type, 76|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoD_UNDEF),
                    81|128,1, 3, 3, 0, 2,
   0,
  84|128,1,
   OPC_RecordChild1,
   OPC_Scope, 45,
    OPC_CheckChild1Type, 65|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS_UNDEF),
                     77|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 77|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS),
                     77|128,1, 3, 2, 0, 1,
    0,
   60,
    OPC_CheckChild1Type, 64|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoD_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    29,
     OPC_RecordChild2,
     OPC_SwitchType , 10, 81|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoD),
                      81|128,1, 3, 2, 0, 1,
     10, 76|128,1,
      OPC_CheckPatternPredicate0,
      OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS),
                      76|128,1, 3, 2, 0, 1,
     0,
    0,
   45,
    OPC_CheckChild1Type, 76|128,1,
    OPC_Scope, 24,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
     OPC_MoveParent,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     42|128,1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoD_UNDEF),
                     81|128,1, 3, 2, 0, 1,
    14,
     OPC_RecordChild2,
     OPC_CheckType, 81|128,1,
     OPC_CheckPatternPredicate0,
     OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVT_ZPmZ_StoD),
                     81|128,1, 3, 2, 0, 1,
    0,
   27,
    OPC_CheckChild1Type, 71|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::LSL_ZZI_S),
                    42|128,1, 2, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_S),
                    77|128,1, 3, 0, 4, 2,
   27,
    OPC_CheckChild1Type, 70|128,1,
    OPC_RecordChild2,
    OPC_CheckType, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(AArch64::LSL_ZZI_S),
                    42|128,1, 2, 1, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::SEL_ZPZZ_D),
                    76|128,1, 3, 0, 4, 2,
   0,
  0,
 67, TARGET_VAL(AArch64ISD::FMOV),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 82,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_SwitchType , 9, 22|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVv2f64_ns),
                   22|128,1, 1, 1,
  9, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVv2f32_ns),
                   2|128,1, 1, 1,
  9, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVv4f32_ns),
                   4|128,1, 1, 1,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVv4f16_ns),
                   MVT::v4f16, 1, 1,
  8, MVT::v8f16,
   OPC_CheckPatternPredicate7,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMOVv8f16_ns),
                   MVT::v8f16, 1, 1,
  0,
 83, TARGET_VAL(AArch64ISD::FDIV_PRED),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_H_UNDEF),
                   66|128,1, 3, 0, 1, 2,
  10, 65|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_H_UNDEF),
                   65|128,1, 3, 0, 1, 2,
  10, 64|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_H_UNDEF),
                   64|128,1, 3, 0, 1, 2,
  10, 77|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_S_UNDEF),
                   77|128,1, 3, 0, 1, 2,
  10, 76|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_S_UNDEF),
                   76|128,1, 3, 0, 1, 2,
  10, 81|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDIV_ZPZZ_D_UNDEF),
                   81|128,1, 3, 0, 1, 2,
  0,
 112, TARGET_VAL(AArch64ISD::FADDV_PRED),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_H),
                    64|128,1, 2, 0, 1,
   12, 76|128,1,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_S),
                    76|128,1, 2, 0, 1,
   12, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_D),
                    81|128,1, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 65|128,1,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_H),
                    65|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_S),
                    77|128,1, 2, 0, 1,
   0,
  19,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FADDV_VPZ_H),
                   66|128,1, 2, 0, 1,
  0,
 112, TARGET_VAL(AArch64ISD::FMAXNMV_PRED),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_H),
                    64|128,1, 2, 0, 1,
   12, 76|128,1,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_S),
                    76|128,1, 2, 0, 1,
   12, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_D),
                    81|128,1, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 65|128,1,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_H),
                    65|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_S),
                    77|128,1, 2, 0, 1,
   0,
  19,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXNMV_VPZ_H),
                   66|128,1, 2, 0, 1,
  0,
 112, TARGET_VAL(AArch64ISD::FMINNMV_PRED),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_H),
                    64|128,1, 2, 0, 1,
   12, 76|128,1,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_S),
                    76|128,1, 2, 0, 1,
   12, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_D),
                    81|128,1, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 65|128,1,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_H),
                    65|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_S),
                    77|128,1, 2, 0, 1,
   0,
  19,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINNMV_VPZ_H),
                   66|128,1, 2, 0, 1,
  0,
 112, TARGET_VAL(AArch64ISD::FMAXV_PRED),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_H),
                    64|128,1, 2, 0, 1,
   12, 76|128,1,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_S),
                    76|128,1, 2, 0, 1,
   12, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_D),
                    81|128,1, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 65|128,1,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_H),
                    65|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_S),
                    77|128,1, 2, 0, 1,
   0,
  19,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMAXV_VPZ_H),
                   66|128,1, 2, 0, 1,
  0,
 112, TARGET_VAL(AArch64ISD::FMINV_PRED),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, 32|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 64|128,1,
    OPC_CheckChild1Type, 64|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_H),
                    64|128,1, 2, 0, 1,
   12, 76|128,1,
    OPC_CheckChild1Type, 76|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_S),
                    76|128,1, 2, 0, 1,
   12, 81|128,1,
    OPC_CheckChild1Type, 81|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_D),
                    81|128,1, 2, 0, 1,
   0,
  36,
   OPC_CheckChild0Type, 33|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 12, 65|128,1,
    OPC_CheckChild1Type, 65|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_H),
                    65|128,1, 2, 0, 1,
   12, 77|128,1,
    OPC_CheckChild1Type, 77|128,1,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_S),
                    77|128,1, 2, 0, 1,
   0,
  19,
   OPC_CheckChild0Type, 34|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1Type, 66|128,1,
   OPC_CheckType, 66|128,1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FMINV_VPZ_H),
                   66|128,1, 2, 0, 1,
  0,
 19, TARGET_VAL(AArch64ISD::FCVTX_MERGE_PASSTHRU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, 81|128,1,
  OPC_RecordChild2,
  OPC_CheckType, 76|128,1,
  OPC_CheckPatternPredicate2,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FCVTX_ZPmZ_DtoS),
                  76|128,1, 3, 2, 0, 1,
 26, TARGET_VAL(ISD::PARTIAL_REDUCE_FMLA),
  OPC_RecordChild0,
  OPC_CheckChild0Type, 77|128,1,
  OPC_RecordChild1,
  OPC_CheckChild1Type, 66|128,1,
  OPC_RecordChild2,
  OPC_CheckChild2Type, 66|128,1,
  OPC_CheckType, 77|128,1,
  OPC_CheckPatternPredicate, 37,
  OPC_MorphNodeTo1None, TARGET_VAL(AArch64::FDOT_ZZZ_S),
                  77|128,1, 3, 0, 1, 2,
 0,
    0
  }; // Total Array size is 595298 bytes

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

#ifdef GET_DAGISEL_DECL
bool CheckPatternPredicate(unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: return (Subtarget->isSVEorStreamingSVEAvailable());
  case 1: return (Subtarget->isNeonAvailable());
  case 2: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2() || Subtarget->hasSME()));
  case 3: return (Subtarget->hasDotProd());
  case 4: return (Subtarget->isSVEAvailable());
  case 5: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2p2() || Subtarget->hasSME2p2()));
  case 6: return (Subtarget->hasFPARMv8());
  case 7: return (Subtarget->hasFullFP16()) && (Subtarget->isNeonAvailable());
  case 8: return (Subtarget->isStreaming() && Subtarget->hasSME2());
  case 9: return (Subtarget->hasLSE());
  case 10: return (Subtarget->hasFullFP16());
  case 11: return (Subtarget->hasFPRCVT());
  case 12: return (Subtarget->isLittleEndian());
  case 13: return (!Subtarget->isLittleEndian());
  case 14: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2p1() || Subtarget->hasSME2p1()));
  case 15: return (Subtarget->isStreaming() && Subtarget->hasSME());
  case 16: return ((Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSVE2p1()) ||(Subtarget->isStreaming() && Subtarget->hasSME2()));
  case 17: return (Subtarget->isSVEorStreamingSVEAvailable()) && (Subtarget->useScalarIncVL());
  case 18: return (Subtarget->hasLSFE());
  case 19: return (Subtarget->isSVEorStreamingSVEAvailable()) && (Subtarget->useExperimentalZeroingPseudos());
  case 20: return (Subtarget->hasFPRCVT()) && (Subtarget->isNeonAvailable());
  case 21: return (Subtarget->isNonStreamingSVEorSME2Available()) && (Subtarget->hasSVEB16B16());
  case 22: return ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 23: return (Subtarget->isSVEorStreamingSVEAvailable()) && (Subtarget->isLittleEndian());
  case 24: return (Subtarget->hasSHA3());
  case 25: return (Subtarget->isStreaming() && Subtarget->hasSME2()) && (Subtarget->isStreaming() && Subtarget->hasSMEI16I64());
  case 26: return (Subtarget->hasMatMulFP64()) && (Subtarget->isSVEorStreamingSVEAvailable());
  case 27: return (Subtarget->isSVEAvailable()) && (Subtarget->useExperimentalZeroingPseudos());
  case 28: return (Subtarget->hasNEON());
  case 29: return (Subtarget->hasFAMINMAX()) && ((Subtarget->isSVEAvailable() && Subtarget->hasSVE2()) ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2()));
  case 30: return (Subtarget->isStreaming() && Subtarget->hasSME2p1());
  case 31: return (Subtarget->isNeonAvailable() || (Subtarget->hasNEON() && Subtarget->hasSME2p2()));
  case 32: return (!Subtarget->requiresStrictAlign()) && (!Subtarget->disableUnpredicatedLdStLower()) && (Subtarget->isSVEorStreamingSVEAvailable()) && (Subtarget->isLittleEndian());
  case 33: return (Subtarget->isStreaming() && Subtarget->hasSMEI16I64()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 34: return (Subtarget->hasFAMINMAX()) && (Subtarget->isNeonAvailable());
  case 35: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2p1() || Subtarget->hasSME()));
  case 36: return (Subtarget->isSVEAvailable() && Subtarget->hasSVE2());
  case 37: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2p1() || Subtarget->hasSME2()));
  case 38: return (!Subtarget->hasDisableFastIncVL()) && (Subtarget->isSVEorStreamingSVEAvailable()) && (Subtarget->useScalarIncVL());
  case 39: return (Subtarget->isNeonAvailable()) && (Subtarget->hasRDM());
  case 40: return (Subtarget->hasLUT());
  case 41: return (Subtarget->hasComplxNum()) && (Subtarget->isNeonAvailable());
  case 42: return (Subtarget->hasCSSC());
  case 43: return (!Subtarget->hasFullFP16());
  case 44: return (Subtarget->hasBF16());
  case 45: return (!Subtarget->hasBF16());
  case 46: return (Subtarget->hasFRInt3264());
  case 47: return (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->isNeonAvailable());
  case 48: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 49: return (Subtarget->isStreaming() && Subtarget->hasSMEB16B16());
  case 50: return (Subtarget->hasFP8());
  case 51: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F32());
  case 52: return (Subtarget->hasFP16FML()) && (Subtarget->isNeonAvailable());
  case 53: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F16());
  case 54: return (Subtarget->isStreaming() && Subtarget->hasSME2()) && (Subtarget->isStreaming() && Subtarget->hasSMEF64F64());
  case 55: return (Subtarget->isStreaming() && Subtarget->hasSME_LUTv2());
  case 56: return (Subtarget->isSVEAvailable() && Subtarget->hasSVE2p1());
  case 57: return (Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2() || Subtarget->hasSME())) && (Subtarget->useExperimentalZeroingPseudos());
  case 58: return (Subtarget->hasBF16()) && (Subtarget->isNeonAvailable());
  case 59: return (Subtarget->isStreaming() && Subtarget->hasSMEF16F16());
  case 60: return (Subtarget->hasMTE());
  case 61: return ((Subtarget->isSVEAvailable() && Subtarget->hasSVE2p2()) ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2p2()));
  case 62: return (Subtarget->isSVEAvailable() ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSSVE_BitPerm())) && (Subtarget->hasSVEBitPerm());
  case 63: return (Subtarget->hasFP8()) && ((Subtarget->isSVEAvailable() && Subtarget->hasSVE2()) ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2()));
  case 64: return (Subtarget->hasFP8FMA());
  case 65: return (Subtarget->hasSSVE_FP8FMA() || (Subtarget->hasSVE2() && Subtarget->hasFP8FMA()));
  case 66: return (Subtarget->hasFullFP16()) && (Subtarget->isNeonAvailable() || (Subtarget->hasNEON() && Subtarget->hasSME2p2()));
  case 67: return (Subtarget->isSVEorStreamingSVEAvailable()) && (!Subtarget->noSVEFPLD1R());
  case 68: return (Subtarget->hasLUT()) && ((Subtarget->isSVEAvailable() && Subtarget->hasSVE2()) ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2()));
  case 69: return (Subtarget->hasMatMulInt8());
  case 70: return (Subtarget->hasBF16()) && (Subtarget->isSVEorStreamingSVEAvailable());
  case 71: return (Subtarget->hasSHA2());
  case 72: return (Subtarget->isStreaming() && Subtarget->hasSMEI16I64());
  case 73: return (Subtarget->hasSM4());
  case 74: return (Subtarget->hasMatMulFP64()) && (Subtarget->isSVEAvailable());
  case 75: return ((Subtarget->isStreaming() && Subtarget->hasSME_TMOP()));
  case 76: return (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF));
  case 77: return (Subtarget->hasPAuth());
  case 78: return (Subtarget->hasCRC());
  case 79: return (Subtarget->hasSME());
  case 80: return (Subtarget->isStreaming() && Subtarget->hasSMEF16F16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 81: return (Subtarget->isStreaming() && Subtarget->hasSMEB16B16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 82: return (Subtarget->isStreaming() && Subtarget->hasSMEF64F64()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 83: return (Subtarget->isNeonAvailable()) && (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern());
  case 84: return (Subtarget->isNonStreamingSVEorSME2Available()) && (Subtarget->hasSVEB16B16()) && (Subtarget->useExperimentalZeroingPseudos());
  case 85: return (Subtarget->isNeonAvailable()) && (Subtarget->hasRCPC3());
  case 86: return (Subtarget->hasCPA());
  case 87: return (Subtarget->isSVEAvailable() ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSSVE_AES())) && (Subtarget->hasSVEAES());
  case 88: return (Subtarget->hasRCPC_IMMO()) && (!Subtarget->avoidLDAPUR());
  case 89: return (Subtarget->hasRCPC());
  case 90: return (Subtarget->hasAES());
  case 91: return (Subtarget->isSVEAvailable() ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2p2()));
  case 92: return (Subtarget->useWzrToVecMove());
  case 93: return (Subtarget->isSVEorStreamingSVEAvailable()) && (!Subtarget->useScalarIncVL());
  case 94: return (Subtarget->hasRDM());
  case 95: return (Subtarget->hasMatMulInt8()) && (Subtarget->isSVEorStreamingSVEAvailable());
  case 96: return (Subtarget->isStreaming() && (Subtarget->hasSMEF16F16() || Subtarget->hasSMEF8F16()));
  case 97: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 98: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F32()) && ((Subtarget->isStreaming() && Subtarget->hasSME_MOP4()));
  case 99: return (Subtarget->hasRCPC_IMMO());
  case 100: return (Subtarget->hasFP8()) && (Subtarget->isStreaming() && Subtarget->hasSME2());
  case 101: return (Subtarget->hasFP8DOT2());
  case 102: return (Subtarget->hasFP8DOT4());
  case 103: return (!Subtarget->hasLSE());
  case 104: return (Subtarget->hasBF16()) && (Subtarget->hasNEON());
  case 105: return (Subtarget->hasDotProd()) && (Subtarget->isNeonAvailable());
  case 106: return (Subtarget->hasMatMulInt8()) && (Subtarget->isSVEAvailable());
  case 107: return (Subtarget->isSVEAvailable() ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSSVE_FEXPA()));
  case 108: return (Subtarget->hasSME2());
  case 109: return (Subtarget->hasLS64());
  case 110: return ( !MF->getSubtarget<AArch64Subtarget>().hardenSlsBlr() );
  case 111: return (Subtarget->hasFuseAES());
  case 112: return (Subtarget->isSVEAvailable() && Subtarget->hasSVESM4());
  case 113: return (Subtarget->isStreaming() && Subtarget->hasSMEF64F64());
  case 114: return (Subtarget->hasCMPBR());
  case 115: return (Subtarget->hasSSVE_FP8DOT2() || (Subtarget->hasSVE2() && Subtarget->hasFP8DOT2()));
  case 116: return (Subtarget->hasSSVE_FP8DOT4() || (Subtarget->hasSVE2() && Subtarget->hasFP8DOT4()));
  case 117: return ( !MF->getInfo<AArch64FunctionInfo>()->branchTargetEnforcement() && !MF->getInfo<AArch64FunctionInfo>()->branchProtectionPAuthLR() );
  case 118: return (  MF->getInfo<AArch64FunctionInfo>()->branchTargetEnforcement() && !MF->getInfo<AArch64FunctionInfo>()->branchProtectionPAuthLR() );
  case 119: return ( MF->getSubtarget<AArch64Subtarget>().hardenSlsBlr() );
  case 120: return (Subtarget->hasRCPC3());
  case 121: return (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF));
  case 122: return (Subtarget->hasFPARMv8()) && (Subtarget->hasJS());
  case 123: return (Subtarget->isSVEAvailable() ||(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSME2p1())) && (Subtarget->hasSVESHA3());
  case 124: return (Subtarget->hasF8F16MM()) && (Subtarget->isNeonAvailable());
  case 125: return (Subtarget->hasF8F32MM()) && (Subtarget->isNeonAvailable());
  case 126: return (Subtarget->isNonStreamingSVEorSME2Available() && Subtarget->hasSVE_BFSCALE());
  case 127: return (Subtarget->hasBF16()) && (Subtarget->isSVEAvailable());
  case 128: return (Subtarget->hasMatMulFP32()) && (Subtarget->isSVEAvailable());
  case 129: return (Subtarget->isSVEAvailable() && Subtarget->hasSVE_F16F32MM());
  case 130: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F32()) && ((Subtarget->isStreaming() && Subtarget->hasSME_TMOP()));
  case 131: return (Subtarget->isStreaming() && Subtarget->hasSMEF16F16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_TMOP()));
  case 132: return (Subtarget->isStreaming() && Subtarget->hasSMEB16B16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_TMOP()));
  case 133: return (Subtarget->isStreaming() && Subtarget->hasSMEF8F16()) && ((Subtarget->isStreaming() && Subtarget->hasSME_TMOP()));
  case 134: return (Subtarget->hasGCS());
  case 135: return (Subtarget->hasF8F32MM()) && (Subtarget->isSVEAvailable() && Subtarget->hasSVE2());
  case 136: return (Subtarget->hasF8F16MM()) && (Subtarget->isSVEAvailable() && Subtarget->hasSVE2());
  case 137: return ( MF->getInfo<AArch64FunctionInfo>()->branchTargetEnforcement() && MF->getInfo<AArch64FunctionInfo>()->branchProtectionPAuthLR() );
  case 138: return ( !MF->getInfo<AArch64FunctionInfo>()->branchTargetEnforcement() && MF->getInfo<AArch64FunctionInfo>()->branchProtectionPAuthLR() );
  case 139: return (Subtarget->hasHBC());
  case 140: return (!MF->getFunction().hasOptNone() || MF->getProperties().hasFailedISel() || !MF->getProperties().hasLegalized());
  case 141: return (!Subtarget->hasCSSC());
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: {
    // Predicate_atomic_cmp_swap_i8
    // Predicate_atomic_load_add_i8
    // Predicate_atomic_load_aext_8
    // Predicate_atomic_load_and_i8
    // Predicate_atomic_load_clr_i8
    // Predicate_atomic_load_max_i8
    // Predicate_atomic_load_min_i8
    // Predicate_atomic_load_or_i8
    // Predicate_atomic_load_sub_i8
    // Predicate_atomic_load_umax_i8
    // Predicate_atomic_load_umin_i8
    // Predicate_atomic_load_xor_i8
    // Predicate_atomic_load_zext_8
    // Predicate_atomic_store_8
    // Predicate_atomic_swap_i8
    // Predicate_extloadi8
    // Predicate_post_truncsti8
    // Predicate_pre_truncsti8
    // Predicate_sextloadi8
    // Predicate_truncstorei8
    // Predicate_zextloadi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

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

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

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

  }
  case 4: {
    // Predicate_AArch64fmul_p_oneuse
    // Predicate_AArch64mul_p_oneuse
    // Predicate_AArch64setcc_z_oneuse
    // Predicate_any_fp_to_sint_oneuse
    // Predicate_any_fp_to_uint_oneuse
    // Predicate_anyext_oneuse
    // Predicate_int_aarch64_sve_cntp_oneuse
    // Predicate_step_vector_oneuse
    SDNode *N = Op.getNode();
    (void)N;
if (!N->hasNUsesOfValue(1, 0)) return false;
return true;

  }
  case 5: {
    // Predicate_VectorIndexH
    // Predicate_VectorIndexH32b
    // Predicate_VectorIndexH32b_timm
    // Predicate_sve_elm_idx_extdup_d
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 8; 
  }
  case 6: {
    // Predicate_VectorIndexS
    // Predicate_VectorIndexS32b
    // Predicate_VectorIndexS32b_timm
    // Predicate_VectorIndexS_timm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 4; 
  }
  case 7: {
    // Predicate_AArch64add_m1
    // Predicate_AArch64and_m1
    // Predicate_AArch64eor_m1
    // Predicate_AArch64fmax_m1
    // Predicate_AArch64fmaxnm_m1
    // Predicate_AArch64fmin_m1
    // Predicate_AArch64fminnm_m1
    // Predicate_AArch64fmul_m1
    // Predicate_AArch64mul_m1
    // Predicate_AArch64orr_m1
    // Predicate_AArch64smax_m1
    // Predicate_AArch64smin_m1
    // Predicate_AArch64sub_m1
    // Predicate_AArch64umax_m1
    // Predicate_AArch64umin_m1
    SDNode *N = Op.getNode();
    (void)N;

    return N->getOpcode() != ISD::VSELECT || N->getOperand(1).hasOneUse();
  
  }
  case 8: {
    // Predicate_istore
    // Predicate_store
    SDNode *N = Op.getNode();
    (void)N;
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

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

  return (((uint32_t)Imm) < 32);
  
  }
  case 10: {
    // Predicate_simm5_32b
    // Predicate_simm5_64b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= -16 && Imm < 16; 
  }
  case 11: {
    // Predicate_VectorIndexD
    // Predicate_VectorIndexD32b
    // Predicate_VectorIndexD32b_timm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 2; 
  }
  case 12: {
    // Predicate_sve_incdec_imm
    // Predicate_vecshiftR16
    // Predicate_vecshiftR32Narrow
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return (((uint32_t)Imm) > 0) && (((uint32_t)Imm) < 17);

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

  }
  case 14: {
    // Predicate_atomic_cmp_swap_i16
    // Predicate_atomic_load_add_i16
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_and_i16
    // Predicate_atomic_load_clr_i16
    // Predicate_atomic_load_max_i16
    // Predicate_atomic_load_min_i16
    // Predicate_atomic_load_or_i16
    // Predicate_atomic_load_sub_i16
    // Predicate_atomic_load_umax_i16
    // Predicate_atomic_load_umin_i16
    // Predicate_atomic_load_xor_i16
    // Predicate_atomic_load_zext_16
    // Predicate_atomic_store_16
    // Predicate_atomic_swap_i16
    // Predicate_extloadi16
    // Predicate_post_truncsti16
    // Predicate_pre_truncsti16
    // Predicate_sextloadi16
    // Predicate_truncstorei16
    // Predicate_zextloadi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

  }
  case 15: {
    // Predicate_azext_masked_gather_i16_signed_unscaled
    // Predicate_azext_masked_gather_i32_signed_unscaled
    // Predicate_azext_masked_gather_i8_signed_unscaled
    // Predicate_nonext_masked_gather_signed_unscaled
    // Predicate_nontrunc_masked_scatter_signed_unscaled
    // Predicate_sext_masked_gather_i16_signed_unscaled
    // Predicate_sext_masked_gather_i32_signed_unscaled
    // Predicate_sext_masked_gather_i8_signed_unscaled
    // Predicate_trunc_masked_scatter_i16_signed_unscaled
    // Predicate_trunc_masked_scatter_i32_signed_unscaled
    // Predicate_trunc_masked_scatter_i8_signed_unscaled
    SDNode *N = Op.getNode();
    (void)N;

    auto MGS = cast<MaskedGatherScatterSDNode>(N);
    bool Signed = MGS->isIndexSigned() ||
        MGS->getIndex().getValueType().getVectorElementType() == MVT::i64;
    return Signed && !MGS->isIndexScaled();
  
  }
  case 16: {
    // Predicate_timm32_0_3
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint32_t)Imm) < 4;

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

  return (((uint32_t)Imm) > 0) && (((uint32_t)Imm) < 33);

  }
  case 18: {
    // Predicate_anonymous_22252
    // Predicate_anonymous_22254
    // Predicate_anonymous_22256
    // Predicate_anonymous_22258
    // Predicate_atomic_cmp_swap_i16_acquire
    // Predicate_atomic_cmp_swap_i32_acquire
    // Predicate_atomic_cmp_swap_i64_acquire
    // Predicate_atomic_cmp_swap_i8_acquire
    // Predicate_atomic_load_add_i16_acquire
    // Predicate_atomic_load_add_i32_acquire
    // Predicate_atomic_load_add_i64_acquire
    // Predicate_atomic_load_add_i8_acquire
    // Predicate_atomic_load_and_i16_acquire
    // Predicate_atomic_load_and_i32_acquire
    // Predicate_atomic_load_and_i64_acquire
    // Predicate_atomic_load_and_i8_acquire
    // Predicate_atomic_load_clr_i16_acquire
    // Predicate_atomic_load_clr_i32_acquire
    // Predicate_atomic_load_clr_i64_acquire
    // Predicate_atomic_load_clr_i8_acquire
    // Predicate_atomic_load_fadd_bf16_acquire
    // Predicate_atomic_load_fadd_f16_acquire
    // Predicate_atomic_load_fadd_f32_acquire
    // Predicate_atomic_load_fadd_f64_acquire
    // Predicate_atomic_load_fmax_bf16_acquire
    // Predicate_atomic_load_fmax_f16_acquire
    // Predicate_atomic_load_fmax_f32_acquire
    // Predicate_atomic_load_fmax_f64_acquire
    // Predicate_atomic_load_fmaximum_bf16_acquire
    // Predicate_atomic_load_fmaximum_f16_acquire
    // Predicate_atomic_load_fmaximum_f32_acquire
    // Predicate_atomic_load_fmaximum_f64_acquire
    // Predicate_atomic_load_fmin_bf16_acquire
    // Predicate_atomic_load_fmin_f16_acquire
    // Predicate_atomic_load_fmin_f32_acquire
    // Predicate_atomic_load_fmin_f64_acquire
    // Predicate_atomic_load_fminimum_bf16_acquire
    // Predicate_atomic_load_fminimum_f16_acquire
    // Predicate_atomic_load_fminimum_f32_acquire
    // Predicate_atomic_load_fminimum_f64_acquire
    // Predicate_atomic_load_max_i16_acquire
    // Predicate_atomic_load_max_i32_acquire
    // Predicate_atomic_load_max_i64_acquire
    // Predicate_atomic_load_max_i8_acquire
    // Predicate_atomic_load_min_i16_acquire
    // Predicate_atomic_load_min_i32_acquire
    // Predicate_atomic_load_min_i64_acquire
    // Predicate_atomic_load_min_i8_acquire
    // Predicate_atomic_load_or_i16_acquire
    // Predicate_atomic_load_or_i32_acquire
    // Predicate_atomic_load_or_i64_acquire
    // Predicate_atomic_load_or_i8_acquire
    // Predicate_atomic_load_sub_i16_acquire
    // Predicate_atomic_load_sub_i32_acquire
    // Predicate_atomic_load_sub_i64_acquire
    // Predicate_atomic_load_sub_i8_acquire
    // Predicate_atomic_load_umax_i16_acquire
    // Predicate_atomic_load_umax_i32_acquire
    // Predicate_atomic_load_umax_i64_acquire
    // Predicate_atomic_load_umax_i8_acquire
    // Predicate_atomic_load_umin_i16_acquire
    // Predicate_atomic_load_umin_i32_acquire
    // Predicate_atomic_load_umin_i64_acquire
    // Predicate_atomic_load_umin_i8_acquire
    // Predicate_atomic_load_xor_i16_acquire
    // Predicate_atomic_load_xor_i32_acquire
    // Predicate_atomic_load_xor_i64_acquire
    // Predicate_atomic_load_xor_i8_acquire
    // Predicate_atomic_swap_i16_acquire
    // Predicate_atomic_swap_i32_acquire
    // Predicate_atomic_swap_i64_acquire
    // Predicate_atomic_swap_i8_acquire
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
return true;

  }
  case 19: {
    // Predicate_fpimm_one
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

  return Imm.isExactlyValue(+1.0);

  }
  case 20: {
    // Predicate_VectorIndexB
    // Predicate_VectorIndexB32b_timm
    // Predicate_sve_elm_idx_extdup_s
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 16; 
  }
  case 21: {
    // Predicate_anonymous_22260
    // Predicate_anonymous_22268
    // Predicate_anonymous_22276
    // Predicate_anonymous_22284
    // Predicate_atomic_cmp_swap_i16_seq_cst
    // Predicate_atomic_cmp_swap_i32_seq_cst
    // Predicate_atomic_cmp_swap_i64_seq_cst
    // Predicate_atomic_cmp_swap_i8_seq_cst
    // Predicate_atomic_load_add_i16_seq_cst
    // Predicate_atomic_load_add_i32_seq_cst
    // Predicate_atomic_load_add_i64_seq_cst
    // Predicate_atomic_load_add_i8_seq_cst
    // Predicate_atomic_load_and_i16_seq_cst
    // Predicate_atomic_load_and_i32_seq_cst
    // Predicate_atomic_load_and_i64_seq_cst
    // Predicate_atomic_load_and_i8_seq_cst
    // Predicate_atomic_load_clr_i16_seq_cst
    // Predicate_atomic_load_clr_i32_seq_cst
    // Predicate_atomic_load_clr_i64_seq_cst
    // Predicate_atomic_load_clr_i8_seq_cst
    // Predicate_atomic_load_fadd_bf16_seq_cst
    // Predicate_atomic_load_fadd_f16_seq_cst
    // Predicate_atomic_load_fadd_f32_seq_cst
    // Predicate_atomic_load_fadd_f64_seq_cst
    // Predicate_atomic_load_fmax_bf16_seq_cst
    // Predicate_atomic_load_fmax_f16_seq_cst
    // Predicate_atomic_load_fmax_f32_seq_cst
    // Predicate_atomic_load_fmax_f64_seq_cst
    // Predicate_atomic_load_fmaximum_bf16_seq_cst
    // Predicate_atomic_load_fmaximum_f16_seq_cst
    // Predicate_atomic_load_fmaximum_f32_seq_cst
    // Predicate_atomic_load_fmaximum_f64_seq_cst
    // Predicate_atomic_load_fmin_bf16_seq_cst
    // Predicate_atomic_load_fmin_f16_seq_cst
    // Predicate_atomic_load_fmin_f32_seq_cst
    // Predicate_atomic_load_fmin_f64_seq_cst
    // Predicate_atomic_load_fminimum_bf16_seq_cst
    // Predicate_atomic_load_fminimum_f16_seq_cst
    // Predicate_atomic_load_fminimum_f32_seq_cst
    // Predicate_atomic_load_fminimum_f64_seq_cst
    // Predicate_atomic_load_max_i16_seq_cst
    // Predicate_atomic_load_max_i32_seq_cst
    // Predicate_atomic_load_max_i64_seq_cst
    // Predicate_atomic_load_max_i8_seq_cst
    // Predicate_atomic_load_min_i16_seq_cst
    // Predicate_atomic_load_min_i32_seq_cst
    // Predicate_atomic_load_min_i64_seq_cst
    // Predicate_atomic_load_min_i8_seq_cst
    // Predicate_atomic_load_or_i16_seq_cst
    // Predicate_atomic_load_or_i32_seq_cst
    // Predicate_atomic_load_or_i64_seq_cst
    // Predicate_atomic_load_or_i8_seq_cst
    // Predicate_atomic_load_sub_i16_seq_cst
    // Predicate_atomic_load_sub_i32_seq_cst
    // Predicate_atomic_load_sub_i64_seq_cst
    // Predicate_atomic_load_sub_i8_seq_cst
    // Predicate_atomic_load_umax_i16_seq_cst
    // Predicate_atomic_load_umax_i32_seq_cst
    // Predicate_atomic_load_umax_i64_seq_cst
    // Predicate_atomic_load_umax_i8_seq_cst
    // Predicate_atomic_load_umin_i16_seq_cst
    // Predicate_atomic_load_umin_i32_seq_cst
    // Predicate_atomic_load_umin_i64_seq_cst
    // Predicate_atomic_load_umin_i8_seq_cst
    // Predicate_atomic_load_xor_i16_seq_cst
    // Predicate_atomic_load_xor_i32_seq_cst
    // Predicate_atomic_load_xor_i64_seq_cst
    // Predicate_atomic_load_xor_i8_seq_cst
    // Predicate_atomic_swap_i16_seq_cst
    // Predicate_atomic_swap_i32_seq_cst
    // Predicate_atomic_swap_i64_seq_cst
    // Predicate_atomic_swap_i8_seq_cst
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
return true;

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

  return ((uint32_t)Imm) < 128;

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

  }
  case 24: {
    // Predicate_azext_masked_gather_i16_signed_scaled
    // Predicate_azext_masked_gather_i32_signed_scaled
    // Predicate_nonext_masked_gather_signed_scaled
    // Predicate_nontrunc_masked_scatter_signed_scaled
    // Predicate_sext_masked_gather_i16_signed_scaled
    // Predicate_sext_masked_gather_i32_signed_scaled
    // Predicate_trunc_masked_scatter_i16_signed_scaled
    // Predicate_trunc_masked_scatter_i32_signed_scaled
    SDNode *N = Op.getNode();
    (void)N;

    auto MGS = cast<MaskedGatherScatterSDNode>(N);
    bool Signed = MGS->isIndexSigned() ||
        MGS->getIndex().getValueType().getVectorElementType() == MVT::i64;
    return Signed && MGS->isIndexScaled();
  
  }
  case 25: {
    // Predicate_vecshiftR64
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return (((uint32_t)Imm) > 0) && (((uint32_t)Imm) < 65);

  }
  case 26: {
    // Predicate_atomic_cmp_swap_i16_monotonic
    // Predicate_atomic_cmp_swap_i32_monotonic
    // Predicate_atomic_cmp_swap_i64_monotonic
    // Predicate_atomic_cmp_swap_i8_monotonic
    // Predicate_atomic_load_add_i16_monotonic
    // Predicate_atomic_load_add_i32_monotonic
    // Predicate_atomic_load_add_i64_monotonic
    // Predicate_atomic_load_add_i8_monotonic
    // Predicate_atomic_load_and_i16_monotonic
    // Predicate_atomic_load_and_i32_monotonic
    // Predicate_atomic_load_and_i64_monotonic
    // Predicate_atomic_load_and_i8_monotonic
    // Predicate_atomic_load_clr_i16_monotonic
    // Predicate_atomic_load_clr_i32_monotonic
    // Predicate_atomic_load_clr_i64_monotonic
    // Predicate_atomic_load_clr_i8_monotonic
    // Predicate_atomic_load_fadd_bf16_monotonic
    // Predicate_atomic_load_fadd_f16_monotonic
    // Predicate_atomic_load_fadd_f32_monotonic
    // Predicate_atomic_load_fadd_f64_monotonic
    // Predicate_atomic_load_fmax_bf16_monotonic
    // Predicate_atomic_load_fmax_f16_monotonic
    // Predicate_atomic_load_fmax_f32_monotonic
    // Predicate_atomic_load_fmax_f64_monotonic
    // Predicate_atomic_load_fmaximum_bf16_monotonic
    // Predicate_atomic_load_fmaximum_f16_monotonic
    // Predicate_atomic_load_fmaximum_f32_monotonic
    // Predicate_atomic_load_fmaximum_f64_monotonic
    // Predicate_atomic_load_fmin_bf16_monotonic
    // Predicate_atomic_load_fmin_f16_monotonic
    // Predicate_atomic_load_fmin_f32_monotonic
    // Predicate_atomic_load_fmin_f64_monotonic
    // Predicate_atomic_load_fminimum_bf16_monotonic
    // Predicate_atomic_load_fminimum_f16_monotonic
    // Predicate_atomic_load_fminimum_f32_monotonic
    // Predicate_atomic_load_fminimum_f64_monotonic
    // Predicate_atomic_load_max_i16_monotonic
    // Predicate_atomic_load_max_i32_monotonic
    // Predicate_atomic_load_max_i64_monotonic
    // Predicate_atomic_load_max_i8_monotonic
    // Predicate_atomic_load_min_i16_monotonic
    // Predicate_atomic_load_min_i32_monotonic
    // Predicate_atomic_load_min_i64_monotonic
    // Predicate_atomic_load_min_i8_monotonic
    // Predicate_atomic_load_or_i16_monotonic
    // Predicate_atomic_load_or_i32_monotonic
    // Predicate_atomic_load_or_i64_monotonic
    // Predicate_atomic_load_or_i8_monotonic
    // Predicate_atomic_load_sub_i16_monotonic
    // Predicate_atomic_load_sub_i32_monotonic
    // Predicate_atomic_load_sub_i64_monotonic
    // Predicate_atomic_load_sub_i8_monotonic
    // Predicate_atomic_load_umax_i16_monotonic
    // Predicate_atomic_load_umax_i32_monotonic
    // Predicate_atomic_load_umax_i64_monotonic
    // Predicate_atomic_load_umax_i8_monotonic
    // Predicate_atomic_load_umin_i16_monotonic
    // Predicate_atomic_load_umin_i32_monotonic
    // Predicate_atomic_load_umin_i64_monotonic
    // Predicate_atomic_load_umin_i8_monotonic
    // Predicate_atomic_load_xor_i16_monotonic
    // Predicate_atomic_load_xor_i32_monotonic
    // Predicate_atomic_load_xor_i64_monotonic
    // Predicate_atomic_load_xor_i8_monotonic
    // Predicate_atomic_swap_i16_monotonic
    // Predicate_atomic_swap_i32_monotonic
    // Predicate_atomic_swap_i64_monotonic
    // Predicate_atomic_swap_i8_monotonic
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
return true;

  }
  case 27: {
    // Predicate_atomic_cmp_swap_i16_release
    // Predicate_atomic_cmp_swap_i32_release
    // Predicate_atomic_cmp_swap_i64_release
    // Predicate_atomic_cmp_swap_i8_release
    // Predicate_atomic_load_add_i16_release
    // Predicate_atomic_load_add_i32_release
    // Predicate_atomic_load_add_i64_release
    // Predicate_atomic_load_add_i8_release
    // Predicate_atomic_load_and_i16_release
    // Predicate_atomic_load_and_i32_release
    // Predicate_atomic_load_and_i64_release
    // Predicate_atomic_load_and_i8_release
    // Predicate_atomic_load_clr_i16_release
    // Predicate_atomic_load_clr_i32_release
    // Predicate_atomic_load_clr_i64_release
    // Predicate_atomic_load_clr_i8_release
    // Predicate_atomic_load_fadd_bf16_release
    // Predicate_atomic_load_fadd_f16_release
    // Predicate_atomic_load_fadd_f32_release
    // Predicate_atomic_load_fadd_f64_release
    // Predicate_atomic_load_fmax_bf16_release
    // Predicate_atomic_load_fmax_f16_release
    // Predicate_atomic_load_fmax_f32_release
    // Predicate_atomic_load_fmax_f64_release
    // Predicate_atomic_load_fmaximum_bf16_release
    // Predicate_atomic_load_fmaximum_f16_release
    // Predicate_atomic_load_fmaximum_f32_release
    // Predicate_atomic_load_fmaximum_f64_release
    // Predicate_atomic_load_fmin_bf16_release
    // Predicate_atomic_load_fmin_f16_release
    // Predicate_atomic_load_fmin_f32_release
    // Predicate_atomic_load_fmin_f64_release
    // Predicate_atomic_load_fminimum_bf16_release
    // Predicate_atomic_load_fminimum_f16_release
    // Predicate_atomic_load_fminimum_f32_release
    // Predicate_atomic_load_fminimum_f64_release
    // Predicate_atomic_load_max_i16_release
    // Predicate_atomic_load_max_i32_release
    // Predicate_atomic_load_max_i64_release
    // Predicate_atomic_load_max_i8_release
    // Predicate_atomic_load_min_i16_release
    // Predicate_atomic_load_min_i32_release
    // Predicate_atomic_load_min_i64_release
    // Predicate_atomic_load_min_i8_release
    // Predicate_atomic_load_or_i16_release
    // Predicate_atomic_load_or_i32_release
    // Predicate_atomic_load_or_i64_release
    // Predicate_atomic_load_or_i8_release
    // Predicate_atomic_load_sub_i16_release
    // Predicate_atomic_load_sub_i32_release
    // Predicate_atomic_load_sub_i64_release
    // Predicate_atomic_load_sub_i8_release
    // Predicate_atomic_load_umax_i16_release
    // Predicate_atomic_load_umax_i32_release
    // Predicate_atomic_load_umax_i64_release
    // Predicate_atomic_load_umax_i8_release
    // Predicate_atomic_load_umin_i16_release
    // Predicate_atomic_load_umin_i32_release
    // Predicate_atomic_load_umin_i64_release
    // Predicate_atomic_load_umin_i8_release
    // Predicate_atomic_load_xor_i16_release
    // Predicate_atomic_load_xor_i32_release
    // Predicate_atomic_load_xor_i64_release
    // Predicate_atomic_load_xor_i8_release
    // Predicate_atomic_swap_i16_release
    // Predicate_atomic_swap_i32_release
    // Predicate_atomic_swap_i64_release
    // Predicate_atomic_swap_i8_release
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Release) return false;
return true;

  }
  case 28: {
    // Predicate_atomic_cmp_swap_i16_acq_rel
    // Predicate_atomic_cmp_swap_i32_acq_rel
    // Predicate_atomic_cmp_swap_i64_acq_rel
    // Predicate_atomic_cmp_swap_i8_acq_rel
    // Predicate_atomic_load_add_i16_acq_rel
    // Predicate_atomic_load_add_i32_acq_rel
    // Predicate_atomic_load_add_i64_acq_rel
    // Predicate_atomic_load_add_i8_acq_rel
    // Predicate_atomic_load_and_i16_acq_rel
    // Predicate_atomic_load_and_i32_acq_rel
    // Predicate_atomic_load_and_i64_acq_rel
    // Predicate_atomic_load_and_i8_acq_rel
    // Predicate_atomic_load_clr_i16_acq_rel
    // Predicate_atomic_load_clr_i32_acq_rel
    // Predicate_atomic_load_clr_i64_acq_rel
    // Predicate_atomic_load_clr_i8_acq_rel
    // Predicate_atomic_load_fadd_bf16_acq_rel
    // Predicate_atomic_load_fadd_f16_acq_rel
    // Predicate_atomic_load_fadd_f32_acq_rel
    // Predicate_atomic_load_fadd_f64_acq_rel
    // Predicate_atomic_load_fmax_bf16_acq_rel
    // Predicate_atomic_load_fmax_f16_acq_rel
    // Predicate_atomic_load_fmax_f32_acq_rel
    // Predicate_atomic_load_fmax_f64_acq_rel
    // Predicate_atomic_load_fmaximum_bf16_acq_rel
    // Predicate_atomic_load_fmaximum_f16_acq_rel
    // Predicate_atomic_load_fmaximum_f32_acq_rel
    // Predicate_atomic_load_fmaximum_f64_acq_rel
    // Predicate_atomic_load_fmin_bf16_acq_rel
    // Predicate_atomic_load_fmin_f16_acq_rel
    // Predicate_atomic_load_fmin_f32_acq_rel
    // Predicate_atomic_load_fmin_f64_acq_rel
    // Predicate_atomic_load_fminimum_bf16_acq_rel
    // Predicate_atomic_load_fminimum_f16_acq_rel
    // Predicate_atomic_load_fminimum_f32_acq_rel
    // Predicate_atomic_load_fminimum_f64_acq_rel
    // Predicate_atomic_load_max_i16_acq_rel
    // Predicate_atomic_load_max_i32_acq_rel
    // Predicate_atomic_load_max_i64_acq_rel
    // Predicate_atomic_load_max_i8_acq_rel
    // Predicate_atomic_load_min_i16_acq_rel
    // Predicate_atomic_load_min_i32_acq_rel
    // Predicate_atomic_load_min_i64_acq_rel
    // Predicate_atomic_load_min_i8_acq_rel
    // Predicate_atomic_load_or_i16_acq_rel
    // Predicate_atomic_load_or_i32_acq_rel
    // Predicate_atomic_load_or_i64_acq_rel
    // Predicate_atomic_load_or_i8_acq_rel
    // Predicate_atomic_load_sub_i16_acq_rel
    // Predicate_atomic_load_sub_i32_acq_rel
    // Predicate_atomic_load_sub_i64_acq_rel
    // Predicate_atomic_load_sub_i8_acq_rel
    // Predicate_atomic_load_umax_i16_acq_rel
    // Predicate_atomic_load_umax_i32_acq_rel
    // Predicate_atomic_load_umax_i64_acq_rel
    // Predicate_atomic_load_umax_i8_acq_rel
    // Predicate_atomic_load_umin_i16_acq_rel
    // Predicate_atomic_load_umin_i32_acq_rel
    // Predicate_atomic_load_umin_i64_acq_rel
    // Predicate_atomic_load_umin_i8_acq_rel
    // Predicate_atomic_load_xor_i16_acq_rel
    // Predicate_atomic_load_xor_i32_acq_rel
    // Predicate_atomic_load_xor_i64_acq_rel
    // Predicate_atomic_load_xor_i8_acq_rel
    // Predicate_atomic_swap_i16_acq_rel
    // Predicate_atomic_swap_i32_acq_rel
    // Predicate_atomic_swap_i64_acq_rel
    // Predicate_atomic_swap_i8_acq_rel
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
return true;

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

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

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

  return (((uint32_t)Imm) > 0) && (((uint32_t)Imm) < 9);

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

  return ((uint32_t)Imm) < 8;

  }
  case 32: {
    // Predicate_fpimm0
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

  return Imm.isExactlyValue(+0.0);

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

   if (Op.getOpcode() == ISD::ADD)
     return true;
   return CurDAG->isADDLike(Op);

  }
  case 34: {
    // Predicate_atomic_cmp_swap_i32
    // Predicate_atomic_load_add_i32
    // Predicate_atomic_load_and_i32
    // Predicate_atomic_load_clr_i32
    // Predicate_atomic_load_max_i32
    // Predicate_atomic_load_min_i32
    // Predicate_atomic_load_nonext_32
    // Predicate_atomic_load_or_i32
    // Predicate_atomic_load_sub_i32
    // Predicate_atomic_load_umax_i32
    // Predicate_atomic_load_umin_i32
    // Predicate_atomic_load_xor_i32
    // Predicate_atomic_store_32
    // Predicate_atomic_swap_i32
    // Predicate_extloadi32
    // Predicate_post_truncsti32
    // Predicate_pre_truncsti32
    // Predicate_sextloadi32
    // Predicate_truncstorei32
    // Predicate_zextloadi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 35: {
    // Predicate_fpimm_half
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

  return Imm.isExactlyValue(+0.5);

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

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

    return (((uint32_t)Imm) <= 15);
  
  }
  case 38: {
    // Predicate_nontrunc_masked_scatter
    SDNode *N = Op.getNode();
    (void)N;

  return !cast<MaskedScatterSDNode>(N)->isTruncatingStore();

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

  }
  case 40: {
    // Predicate_complexrotateop
    // Predicate_complexrotateopodd
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm <= 270;  
  }
  case 41: {
    // Predicate_imm0_31
    // Predicate_imm32_0_31
    // Predicate_timm0_31
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint64_t)Imm) < 32;

  }
  case 42: {
    // Predicate_atomic_cmp_swap_i64
    // Predicate_atomic_load_add_i64
    // Predicate_atomic_load_and_i64
    // Predicate_atomic_load_clr_i64
    // Predicate_atomic_load_max_i64
    // Predicate_atomic_load_min_i64
    // Predicate_atomic_load_nonext_64
    // Predicate_atomic_load_or_i64
    // Predicate_atomic_load_sub_i64
    // Predicate_atomic_load_umax_i64
    // Predicate_atomic_load_umin_i64
    // Predicate_atomic_load_xor_i64
    // Predicate_atomic_store_64
    // Predicate_atomic_swap_i64
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

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

  return !cast<MaskedStoreSDNode>(N)->isTruncatingStore() &&
         cast<MaskedStoreSDNode>(N)->isUnindexed() &&
         !cast<MaskedStoreSDNode>(N)->isNonTemporal() &&
         !cast<MaskedStoreSDNode>(N)->isCompressingStore();

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

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

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

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

  }
  case 46: {
    // Predicate_simm9
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= -256 && Imm < 256; 
  }
  case 47: {
    // Predicate_imm0_127_64b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint64_t)Imm) < 128;

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

  return (((uint32_t)Imm) < 32);

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

  return ((uint32_t)Imm) < 2;

  }
  case 50: {
    // Predicate_anonymous_22263
    // Predicate_anonymous_22271
    // Predicate_anonymous_22279
    // Predicate_anonymous_22287
    SDNode *N = Op.getNode();
    (void)N;
if (isAcquireOrStronger(cast<AtomicSDNode>(N)->getMergedOrdering())) return false;
return true;

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

  return Op.getValueType() == MVT::i64 &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(64, 32));
  
  }
  case 52: {
    // Predicate_nonext_masked_gather
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedGatherSDNode>(N)->getExtensionType() == ISD::NON_EXTLOAD;

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

  return ((uint32_t)Imm) <= 3;

  }
  case 54: {
    // Predicate_uimm5s2
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < (32*2) && ((Imm % 2) == 0); 
  }
  case 55: {
    // Predicate_azext_masked_load
    SDNode *N = Op.getNode();
    (void)N;

  return (cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::EXTLOAD ||
          cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::ZEXTLOAD) &&
         cast<MaskedLoadSDNode>(N)->isUnindexed();

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

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

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

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

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

  return cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::NON_EXTLOAD &&
         cast<MaskedLoadSDNode>(N)->isUnindexed() &&
         !cast<MaskedLoadSDNode>(N)->isNonTemporal();

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

  return (((uint32_t)Imm) < 8);

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

  return (((uint32_t)Imm) < 16);

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

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

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

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

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

  return CurDAG->ComputeNumSignBits(N->getOperand(0)) > 32 &&
         CurDAG->ComputeNumSignBits(N->getOperand(1)) > 32;

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

  return (((uint32_t)Imm) < 64);

  }
  case 66: {
    // Predicate_uimm5s4
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < (32*4) && ((Imm % 4) == 0); 
  }
  case 67: {
    // Predicate_azext_masked_gather_i16_unsigned_unscaled
    // Predicate_azext_masked_gather_i8_unsigned_unscaled
    // Predicate_nonext_masked_gather_unsigned_unscaled
    // Predicate_nontrunc_masked_scatter_unsigned_unscaled
    // Predicate_sext_masked_gather_i16_unsigned_unscaled
    // Predicate_sext_masked_gather_i8_unsigned_unscaled
    // Predicate_trunc_masked_scatter_i16_unsigned_unscaled
    // Predicate_trunc_masked_scatter_i8_unsigned_unscaled
    SDNode *N = Op.getNode();
    (void)N;

    auto MGS = cast<MaskedGatherScatterSDNode>(N);
    bool Signed = MGS->isIndexSigned() ||
        MGS->getIndex().getValueType().getVectorElementType() == MVT::i64;
    return !Signed && !MGS->isIndexScaled();
  
  }
  case 68: {
    // Predicate_sve_elm_idx_extdup_h
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 32; 
  }
  case 69: {
    // Predicate_sme_elm_idx0_0
    // Predicate_timm32_0_0
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint32_t)Imm) == 0;

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

  auto MSN = cast<MaskedScatterSDNode>(N);
  return MSN->isTruncatingStore() &&
         MSN->getMemoryVT().getScalarType() == MVT::i16;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::EXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i16;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::ZEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i16;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::SEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i16;

  }
  case 74: {
    // Predicate_fpimm_two
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

  return Imm.isExactlyValue(+2.0);

  }
  case 75: {
    // Predicate_anonymous_22302
    // Predicate_anonymous_22309
    // Predicate_anonymous_22316
    // Predicate_anonymous_22323
    SDNode *N = Op.getNode();
    (void)N;
if (isReleaseOrStronger(cast<AtomicSDNode>(N)->getMergedOrdering())) return false;
return true;

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

  return !cast<MaskedStoreSDNode>(N)->isTruncatingStore() &&
         cast<MaskedStoreSDNode>(N)->isUnindexed() &&
         cast<MaskedStoreSDNode>(N)->isNonTemporal() &&
         !cast<MaskedStoreSDNode>(N)->isCompressingStore();

  }
  case 77: {
    // Predicate_azext_masked_load_i16
    // Predicate_sext_masked_load_i16
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedLoadSDNode>(N)->getMemoryVT().getScalarType() == MVT::i16;

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

   return cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::NON_EXTLOAD &&
          cast<MaskedLoadSDNode>(N)->isUnindexed() &&
          cast<MaskedLoadSDNode>(N)->isNonTemporal();

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

  return (Imm & 0xffffffffULL) == static_cast<uint64_t>(Imm);

  }
  case 80: {
    // Predicate_simm5_8b
    // Predicate_simm5_8b_tgt
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (int8_t)Imm >= -16 && (int8_t)Imm < 16; 
  }
  case 81: {
    // Predicate_simm5_16b
    // Predicate_simm5_16b_tgt
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (int16_t)Imm >= -16 && (int16_t)Imm < 16; 
  }
  case 82: {
    // Predicate_imm0_255
    // Predicate_timm32_0_255
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint32_t)Imm) < 256;

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

  }
  case 84: {
    // Predicate_anonymous_22300
    // Predicate_anonymous_22307
    // Predicate_anonymous_22314
    // Predicate_anonymous_22321
    SDNode *N = Op.getNode();
    (void)N;
if (!isReleaseOrStronger(cast<AtomicSDNode>(N)->getMergedOrdering())) return false;
return true;

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

  int64_t Imm64 = static_cast<int64_t>(Imm);
  return Imm64 >= std::numeric_limits<int32_t>::min() &&
         Imm64 <= std::numeric_limits<int32_t>::max();

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

  return ((uint64_t)Imm) < 64;

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

  return ((uint32_t)Imm) < 16;

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

  return ((uint32_t)Imm) <= 1;

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

  return ((uint32_t)Imm) <= 7;

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

  }
  case 91: {
    // Predicate_ldaxr_1
    // Predicate_ldxr_1
    // Predicate_stlxr_1
    // Predicate_stxr_1
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 92: {
    // Predicate_ldaxr_2
    // Predicate_ldxr_2
    // Predicate_stlxr_2
    // Predicate_stxr_2
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 93: {
    // Predicate_ldaxr_4
    // Predicate_ldxr_4
    // Predicate_stlxr_4
    // Predicate_stxr_4
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 94: {
    // Predicate_azext_masked_gather_i16_unsigned_scaled
    // Predicate_nonext_masked_gather_unsigned_scaled
    // Predicate_nontrunc_masked_scatter_unsigned_scaled
    // Predicate_sext_masked_gather_i16_unsigned_scaled
    // Predicate_trunc_masked_scatter_i16_unsigned_scaled
    SDNode *N = Op.getNode();
    (void)N;

    auto MGS = cast<MaskedGatherScatterSDNode>(N);
    bool Signed = MGS->isIndexSigned() ||
        MGS->getIndex().getValueType().getVectorElementType() == MVT::i64;
    return !Signed && MGS->isIndexScaled();
  
  }
  case 95: {
    // Predicate_fpimm16
    // Predicate_fpimmbf16
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

      return AArch64_AM::getFP16Imm(Imm) != -1;
    
  }
  case 96: {
    // Predicate_truncstorevi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
return true;

  }
  case 97: {
    // Predicate_uimm5s8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < (32*8) && ((Imm % 8) == 0); 
  }
  case 98: {
    // Predicate_extloadvi8
    // Predicate_sextloadvi8
    // Predicate_zextloadvi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
return true;

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

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

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

  return cast<MaskedStoreSDNode>(N)->isTruncatingStore() &&
         cast<MaskedStoreSDNode>(N)->isUnindexed() &&
         !cast<MaskedStoreSDNode>(N)->isCompressingStore();

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

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

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

  auto MSN = cast<MaskedScatterSDNode>(N);
  return MSN->isTruncatingStore() &&
         MSN->getMemoryVT().getScalarType() == MVT::i32;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::EXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i32;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::ZEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i32;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::SEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i32;

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

  return Op.getValueType() == MVT::i64 &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(64, 63));
  
  }
  case 108: {
    // Predicate_simm4s16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >=-128  && Imm <= 112 && (Imm % 16) == 0x0; 
  }
  case 109: {
    // Predicate_trunc_masked_scatter_i8
    SDNode *N = Op.getNode();
    (void)N;

  auto MSN = cast<MaskedScatterSDNode>(N);
  return MSN->isTruncatingStore() &&
         MSN->getMemoryVT().getScalarType() == MVT::i8;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::EXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i8;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::ZEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i8;

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

  auto MGN = cast<MaskedGatherSDNode>(N);
  return MGN->getExtensionType() == ISD::SEXTLOAD &&
         MGN->getMemoryVT().getScalarType() == MVT::i8;

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

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

  return ((uint32_t)Imm) <= 15;

  }
  case 115: {
    // Predicate_maski8_or_more
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (Imm & 0xff) == 0xff; 
  }
  case 116: {
    // Predicate_maski16_or_more
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (Imm & 0xffff) == 0xffff; 
  }
  case 117: {
    // Predicate_trunc_masked_store_i16
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedStoreSDNode>(N)->getMemoryVT().getScalarType() == MVT::i16 &&
         !cast<MaskedStoreSDNode>(N)->isCompressingStore();

  }
  case 118: {
    // Predicate_AArch64fadd_p_contract
    // Predicate_AArch64fsub_p_contract
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 119: {
    // Predicate_azext_masked_load_i32
    // Predicate_sext_masked_load_i32
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedLoadSDNode>(N)->getMemoryVT().getScalarType() == MVT::i32;

  }
  case 120: {
    // Predicate_fpimm_minus0
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

  return Imm.isExactlyValue(-0.0);

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

  return ((uint64_t)Imm) < 2;

  }
  case 122: {
    // Predicate_sve_elm_idx_extdup_b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) < 64; 
  }
  case 123: {
    // Predicate_simm5_32b_tgt
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (int32_t)Imm >= -16 && (int32_t)Imm < 16; 
  }
  case 124: {
    // Predicate_simm5_64b_tgt
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (int64_t)Imm >= -16 && (int64_t)Imm < 16; 
  }
  case 125: {
    // Predicate_atomic_load_fadd_f16
    // Predicate_atomic_load_fmax_f16
    // Predicate_atomic_load_fmaximum_f16
    // Predicate_atomic_load_fmin_f16
    // Predicate_atomic_load_fminimum_f16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f16) return false;
return true;

  }
  case 126: {
    // Predicate_atomic_load_fadd_f32
    // Predicate_atomic_load_fmax_f32
    // Predicate_atomic_load_fmaximum_f32
    // Predicate_atomic_load_fmin_f32
    // Predicate_atomic_load_fminimum_f32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f32) return false;
return true;

  }
  case 127: {
    // Predicate_atomic_load_fadd_f64
    // Predicate_atomic_load_fmax_f64
    // Predicate_atomic_load_fmaximum_f64
    // Predicate_atomic_load_fmin_f64
    // Predicate_atomic_load_fminimum_f64
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::f64) return false;
return true;

  }
  case 128: {
    // Predicate_atomic_load_fadd_bf16
    // Predicate_atomic_load_fmax_bf16
    // Predicate_atomic_load_fmaximum_bf16
    // Predicate_atomic_load_fmin_bf16
    // Predicate_atomic_load_fminimum_bf16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::bf16) return false;
return true;

  }
  case 129: {
    // Predicate_VectorIndex0
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return ((uint64_t)Imm) == 0; 
  }
  case 130: {
    // Predicate_topbitsallzero32
    SDNode *N = Op.getNode();
    (void)N;

  return Op.getValueType() == MVT::i32 &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(32, 31));
  
  }
  case 131: {
    // Predicate_logical_imm32
    const APInt & Imm = Op->getAsAPIntVal();

  return AArch64_AM::isLogicalImmediate(Imm.getZExtValue(), 32);

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

  return AArch64_AM::isLogicalImmediate(Imm.getZExtValue(), 64);

  }
  case 133: {
    // Predicate_ldaxr_8
    // Predicate_ldxr_8
    // Predicate_stlxr_8
    // Predicate_stxr_8
    SDNode *N = Op.getNode();
    (void)N;

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

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

    return AArch64SVCR::lookupSVCRByEncoding(Imm) != nullptr;
  
  }
  case 135: {
    // Predicate_simm8_32b
    // Predicate_simm8_64b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= -128 && Imm < 128; 
  }
  case 136: {
    // Predicate_uimm8_32b
    // Predicate_uimm8_64b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < 256; 
  }
  case 137: {
    // Predicate_fpimm32
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

      return AArch64_AM::getFP32Imm(Imm) != -1;
    
  }
  case 138: {
    // Predicate_trunc_isWorthFoldingALU
    SDNode *N = Op.getNode();
    (void)N;
 return isWorthFoldingALU(SDValue(N, 0)); 
  }
  case 139: {
    // Predicate_truncstorevi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i32) return false;
return true;

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

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

  return ((uint64_t)Imm) < 8;

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

  return cast<MaskedStoreSDNode>(N)->getMemoryVT().getScalarType() == MVT::i32 &&
         !cast<MaskedStoreSDNode>(N)->isCompressingStore();

  }
  case 143: {
    // Predicate_fpimm64
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

      return AArch64_AM::getFP64Imm(Imm) != -1;
    
  }
  case 144: {
    // Predicate_imm0_15
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint64_t)Imm) < 16;

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

  return ((uint32_t)Imm) < 4;
  }
  case 146: {
    // Predicate_extq_timm32_0_1m8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint32_t)Imm) < 2;
  }
  case 147: {
    // Predicate_timm32_0_65535
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint32_t)Imm) < 65536;

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

  if (auto *G = dyn_cast<GlobalAddressSDNode>(N)) {
    const DataLayout &DL = MF->getDataLayout();
    Align Align = G->getGlobal()->getPointerAlignment(DL);
    return Align >= 4 && G->getOffset() % 4 == 0;
  }
  if (auto *C = dyn_cast<ConstantPoolSDNode>(N))
    return C->getAlign() >= 4 && C->getOffset() % 4 == 0;
  return false;

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

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

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

  return (((uint32_t)Imm) > 31) && (((uint32_t)Imm) < 64);

  }
  case 151: {
    // Predicate_fmaxnum_nnan
    // Predicate_fminnum_nnan
    SDNode *N = Op.getNode();
    (void)N;

  return N->getFlags().hasNoNaNs();
  
  }
  case 152: {
    // Predicate_AArch64fmaxnm_p_nnan
    // Predicate_AArch64fminnm_p_nnan
    SDNode *N = Op.getNode();
    (void)N;

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

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

  return ((uint64_t)Imm) < 65536;

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

    return ((uint32_t)Imm) == 1;

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

  return ((uint32_t)Imm) > 0 && ((uint32_t)Imm) < 4;

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

  return ((uint32_t)Imm) > 0 && ((uint32_t)Imm) < 8;

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

  return N->getOpcode() == ISD::CopyFromReg &&
         cast<RegisterSDNode>(N->getOperand(1))->getReg() == AArch64::SP;

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

  return Op.getValueType() == MVT::i32 &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(32, 16));
  
  }
  case 159: {
    // Predicate_ubsan_trap_imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return isUInt<8>(Imm);

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

    return (((uint32_t)Imm) <= 63);
  
  }
  case 161: {
    // Predicate_simm6_32b
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= -32 && Imm < 32; 
  }
  case 162: {
    // Predicate_AArch64vashr_exact
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 163: {
    // Predicate_fpimm32SIMDModImmType4
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

      uint64_t Enc = Imm.bitcastToAPInt().getZExtValue();
      return Enc != 0 && AArch64_AM::isAdvSIMDModImmType4(Enc << 32 | Enc);
    
  }
  case 164: {
    // Predicate_simdimmtype10
    const APFloat & Imm = cast<ConstantFPSDNode>(Op.getNode())->getValueAPF();

      return AArch64_AM::isAdvSIMDModImmType10(
                 Imm.bitcastToAPInt().getZExtValue());
    
  }
  case 165: {
    // Predicate_simm4s32
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >=-256  && Imm <= 224 && (Imm % 32) == 0x0; 
  }
  case 166: {
    // Predicate_AArch64fneg_mt_nsz
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  }
}
#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+0);
  return SelectAllActivePredicate(N);
  case 1:
    Result.resize(NextRes+0);
  return SelectDupZero(N);
  case 2:
    Result.resize(NextRes+0);
  return SelectDupZeroOrUndef(N);
  case 3:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<7,  1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 4:
    Result.resize(NextRes+0);
  return SelectAny(N);
  case 5:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedSVE<-8, 7>(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 6:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 7:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 8:
    Result.resize(NextRes+0);
  return SelectAnyPredicate(N);
  case 9:
    Result.resize(NextRes+2);
  return SelectSVERegRegAddrMode<1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 10:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<4,  4>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 11:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 12:
    Result.resize(NextRes+2);
  return SelectSVERegRegAddrMode<0>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 13:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 14:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 15:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<6,  2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 16:
    Result.resize(NextRes+4);
  return SelectAddrModeWRO<16>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 17:
    Result.resize(NextRes+4);
  return SelectAddrModeXRO<16>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 18:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<0,  1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 19:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 20:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 21:
    Result.resize(NextRes+4);
  return SelectAddrModeWRO<8>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 22:
    Result.resize(NextRes+4);
  return SelectAddrModeXRO<8>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 23:
    Result.resize(NextRes+2);
  return SelectSVERegRegAddrMode<2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 24:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 25:
    Result.resize(NextRes+4);
  return SelectAddrModeWRO<64>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 26:
    Result.resize(NextRes+4);
  return SelectAddrModeXRO<64>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 27:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 28:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 29:
    Result.resize(NextRes+4);
  return SelectAddrModeWRO<32>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 30:
    Result.resize(NextRes+4);
  return SelectAddrModeXRO<32>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 31:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 32:
    Result.resize(NextRes+1);
  return SelectCntImm<1, 16, 1, false>(N, Result[NextRes+0].first);
  case 33:
    Result.resize(NextRes+2);
  return SelectSVERegRegAddrMode<3>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 34:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZT0,  0>(N, Result[NextRes+0].first);
  case 35:
    Result.resize(NextRes+1);
  return SelectCntImm<1, 16, 1, true>(N, Result[NextRes+0].first);
  case 36:
    Result.resize(NextRes+1);
  return SelectCntImm<1, 16, 1, false>(N, Result[NextRes+0].first);
  case 37:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 38:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 39:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 40:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 41:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 42:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 43:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 44:
    Result.resize(NextRes+2);
  return SelectLogicalShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 45:
    Result.resize(NextRes+2);
  return SelectLogicalShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 46:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<12, 4>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 47:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<3,  1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 48:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<1,  1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 49:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZAQ0, 15>(N, Result[NextRes+0].first);
  case 50:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<14, 2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 51:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 52:
    Result.resize(NextRes+4);
  return SelectAddrModeWRO<128>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 53:
    Result.resize(NextRes+4);
  return SelectAddrModeXRO<128>(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first, Result[NextRes+3].first);
  case 54:
    Result.resize(NextRes+1);
  return SelectSVEShiftSplatImmR(N, Result[NextRes+0].first);
  case 55:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedSVE<-256, 255>(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 56:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedUImm<2,63>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 57:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<15, 1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 58:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedUImm<1,63>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 59:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i8, true>(N, Result[NextRes+0].first);
  case 60:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i16, true>(N, Result[NextRes+0].first);
  case 61:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i32, true>(N, Result[NextRes+0].first);
  case 62:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i64, true>(N, Result[NextRes+0].first);
  case 63:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZAH0, 1>(N, Result[NextRes+0].first);
  case 64:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<0,  4>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 65:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedUImm<4,63>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 66:
    Result.resize(NextRes+1);
  return SelectEXTImm<31, 8>(N, Result[NextRes+0].first);
  case 67:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, -8>(N, Result[NextRes+0].first);
  case 68:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, -4>(N, Result[NextRes+0].first);
  case 69:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, -2>(N, Result[NextRes+0].first);
  case 70:
    Result.resize(NextRes+2);
  return SelectArithShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 71:
    Result.resize(NextRes+1);
  return SelectSVESignedArithImm(N, Result[NextRes+0].first);
  case 72:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, 8>(N, Result[NextRes+0].first);
  case 73:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, 4>(N, Result[NextRes+0].first);
  case 74:
    Result.resize(NextRes+1);
  return SelectRDVLImm<1, 16, 2>(N, Result[NextRes+0].first);
  case 75:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<1, 8,  true>(N, Result[NextRes+0].first);
  case 76:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<1, 16, true>(N, Result[NextRes+0].first);
  case 77:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<1, 32, true>(N, Result[NextRes+0].first);
  case 78:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<1, 64, true>(N, Result[NextRes+0].first);
  case 79:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<0, 7>(N, Result[NextRes+0].first);
  case 80:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<0, 15>(N, Result[NextRes+0].first);
  case 81:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<0, 31>(N, Result[NextRes+0].first);
  case 82:
    Result.resize(NextRes+1);
  return SelectSVEShiftImm<0, 63>(N, Result[NextRes+0].first);
  case 83:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZAS0, 3>(N, Result[NextRes+0].first);
  case 84:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZAD0, 7>(N, Result[NextRes+0].first);
  case 85:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<32>(N, Result[NextRes+0].first);
  case 86:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<32>(N, Result[NextRes+0].first);
  case 87:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<32>(N, Result[NextRes+0].first);
  case 88:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<64>(N, Result[NextRes+0].first);
  case 89:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<64>(N, Result[NextRes+0].first);
  case 90:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosRecipOperand<64>(N, Result[NextRes+0].first);
  case 91:
    Result.resize(NextRes+1);
  return SelectEXTImm<63, 4>(N, Result[NextRes+0].first);
  case 92:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i8, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 93:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i16, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 94:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i32, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 95:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i64, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 96:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i16>(N, Result[NextRes+0].first);
  case 97:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i32>(N, Result[NextRes+0].first);
  case 98:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i64>(N, Result[NextRes+0].first);
  case 99:
    Result.resize(NextRes+2);
  return SelectArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 100:
    Result.resize(NextRes+2);
  return SelectArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 101:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 102:
    Result.resize(NextRes+2);
  return SelectNegArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 103:
    Result.resize(NextRes+2);
  return SelectNegArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 104:
    Result.resize(NextRes+2);
  return SelectArithShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 105:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 106:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 107:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i8>(N, Result[NextRes+0].first);
  case 108:
    Result.resize(NextRes+1);
  return ImmToReg<AArch64::ZAB0, 0>(N, Result[NextRes+0].first);
  case 109:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<2,  2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 110:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedS9S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 111:
    Result.resize(NextRes+2);
  return SelectRoundingVLShr(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 112:
    Result.resize(NextRes+1);
  return SelectEXTImm<127, 2>(N, Result[NextRes+0].first);
  case 113:
    Result.resize(NextRes+1);
  return SelectRDVLImm<-32, 31, 16>(N, Result[NextRes+0].first);
  case 114:
    Result.resize(NextRes+2);
  return SelectSVERegRegAddrMode<4>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 115:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedSVE<-32, 31>(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 116:
    Result.resize(NextRes+2);
  return SelectSMETileSlice<0,  2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 117:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 118:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 119:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 120:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 121:
    Result.resize(NextRes+2);
  return SelectSVECpyDupImm<MVT::i8>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 122:
    Result.resize(NextRes+2);
  return SelectSVECpyDupImm<MVT::i16>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 123:
    Result.resize(NextRes+2);
  return SelectSVECpyDupImm<MVT::i32>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 124:
    Result.resize(NextRes+2);
  return SelectSVECpyDupImm<MVT::i64>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 125:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedUImm<8,63>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 126:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 127:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 128:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 129:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i8, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 130:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i8, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 131:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i16, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 132:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i16, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 133:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i32, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 134:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i32, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 135:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i64, false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 136:
    Result.resize(NextRes+2);
  return SelectSVEAddSubSSatImm<MVT::i64, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 137:
    Result.resize(NextRes+1);
  return SelectSVESignedArithImm(N, Result[NextRes+0].first);
  case 138:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i16>(N, Result[NextRes+0].first);
  case 139:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i16>(N, Result[NextRes+0].first);
  case 140:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i16, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 141:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i32, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 142:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i64, true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 143:
    Result.resize(NextRes+2);
  return SelectAddrModeFrameIndexSVE(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 144:
    Result.resize(NextRes+2);
  return SelectCmpBranchExtOperand<true>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 145:
    Result.resize(NextRes+2);
  return SelectCmpBranchExtOperand<false>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 146:
    Result.resize(NextRes+1);
  return SelectExtractHigh(N, Result[NextRes+0].first);
  case 147:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i32>(N, Result[NextRes+0].first);
  case 148:
    Result.resize(NextRes+1);
  return SelectSVEArithImm<MVT::i8>(N, Result[NextRes+0].first);
  case 149:
    Result.resize(NextRes+1);
  return SelectSVEArithImm<MVT::i16>(N, Result[NextRes+0].first);
  case 150:
    Result.resize(NextRes+1);
  return SelectSVEArithImm<MVT::i32>(N, Result[NextRes+0].first);
  case 151:
    Result.resize(NextRes+1);
  return SelectSVEArithImm<MVT::i64>(N, Result[NextRes+0].first);
  case 152:
    Result.resize(NextRes+1);
  return SelectEXTImm<255, 1>(N, Result[NextRes+0].first);
  case 153:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedU6S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 154:
    Result.resize(NextRes+2);
  return SelectArithUXTXRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 155:
    Result.resize(NextRes+1);
  return SelectCmpBranchUImm6Operand(Parent, N, Result[NextRes+0].first);
  case 156:
    Result.resize(NextRes+1);
  return SelectCmpBranchUImm6Operand(Parent, N, Result[NextRes+0].first);
  case 157:
    Result.resize(NextRes+1);
  return SelectRDSVLShiftImm<1, 31>(N, Result[NextRes+0].first);
  case 158:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i64>(N, Result[NextRes+0].first);
  }
}
#endif // GET_DAGISEL_BODY

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  uint64_t enc = AArch64_AM::encodeLogicalImmediate(N->getZExtValue(), 32);
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i32);

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

  uint64_t enc = AArch64_AM::encodeLogicalImmediate(N->getZExtValue(), 64);
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i32);

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

  return CurDAG->getTargetConstant(N->getZExtValue() / 2, SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(N->getZExtValue() / 4, SDLoc(N), MVT::i64);

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

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

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

  return CurDAG->getTargetConstant(2 * N->getZExtValue(), SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(4 * N->getZExtValue(), SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(N->getZExtValue() * 2, SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(N->getZExtValue() * 4, SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(N->getZExtValue() * 2, SDLoc(N), MVT::i64);

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

  uint64_t enc = (32 - N->getZExtValue()) & 0x1f;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 31 - N->getZExtValue();
  enc = enc > 7 ? 7 : enc;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = (64 - N->getZExtValue()) & 0x3f;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 63 - N->getZExtValue();
  enc = enc > 7 ? 7 : enc;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 31 - N->getZExtValue();
  enc = enc > 15 ? 15 : enc;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 63 - N->getZExtValue();
  enc = enc > 15 ? 15 : enc;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 63 - N->getZExtValue();
  enc = enc > 31 ? 31 : enc;
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 31 - N->getZExtValue();
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  uint64_t enc = 63 - N->getZExtValue();
  return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i64);

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

  AArch64CC::CondCode CC = static_cast<AArch64CC::CondCode>(N->getZExtValue());
  return CurDAG->getTargetConstant(AArch64CC::getInvertedCondCode(CC), SDLoc(N),
                                   MVT::i32);

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

  return CurDAG->getTargetConstant(N->getZExtValue() | ('U' << 8), SDLoc(N), MVT::i32);

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

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

return CurDAG->getTargetConstant(
  N->getValueAPF().bitcastToAPInt().getZExtValue(), SDLoc(N), MVT::i32);

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

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

      uint32_t enc = AArch64_AM::encodeAdvSIMDModImmType4(N->getValueAPF()
                                                          .bitcastToAPInt()
                                                          .getZExtValue());
      return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i32);
    
  }
  case 32: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

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

      uint32_t enc = AArch64_AM::encodeAdvSIMDModImmType10(N->getValueAPF()
                                                           .bitcastToAPInt()
                                                           .getZExtValue());
      return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i32);
    
  }
  case 34: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

return CurDAG->getTargetConstant(
  N->getValueAPF().bitcastToAPInt().getZExtValue(), SDLoc(N), MVT::i64);

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

  return CurDAG->getTargetConstant(N->getSExtValue() / 16, SDLoc(N), MVT::i64);

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

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

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

  return CurDAG->getTargetConstant(N->getSExtValue() / 32, SDLoc(N), MVT::i64);

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